Gibbon Posted November 29, 2021 So I ended up giving in and merging back what I removed and also merging, doing a PR, fixing the conflicts and merging those back onto my master branch from Choco. So Sprinkled is now once again, tracking Choco master branch but with all my additions intact. This means Timidity, Fluidsynth, GUS and Windows Native MIDI are all enabled as of right now (if you compile it yourself). I have a few more things to do before I make another release though. One of which will be 2 native launchers (one for Windows and One for Mac). 5 Share this post Link to post
OpenRift Posted November 29, 2021 29 minutes ago, Gibbon said: I have a few more things to do before I make another release though. One of which will be 2 native launchers (one for Windows and One for Mac). Launchers, you say? 0 Share this post Link to post
Gibbon Posted November 29, 2021 (edited) 17 minutes ago, OpenRift said: Launchers, you say? Launchers!! Very minimalist. Basically a gui with buttons for each game and a text field and help text for entering the commands. Which are saved for next time. I was annoyed that Windows has no good launcher that is small, native and no dependencies. Always C# or Java etc.. so I'm writing my own in WIN32 API directly. It will be looking the same as the MacOS Sprinkled Launcher (itself ported from Choco's historical launcher repo and isn't yet released :P) Edited November 29, 2021 by Gibbon 1 Share this post Link to post
OpenRift Posted November 29, 2021 34 minutes ago, Gibbon said: Launchers!! Very minimalist. Basically a gui with buttons for each game and a text field and help text for entering the commands. Which are saved for next time. I was annoyed that Windows has no good launcher that is small, native and no dependencies. Always C# or Java etc.. so I'm writing my own in WIN32 API directly. It will be looking the same as the MacOS Sprinkled Launcher (itself ported from Choco's historical launcher repo and isn't yet released :P) Will this be compatible with other Chocolate-derivative ports? Or just Sprinked? Also, can we see a picture of what the MacOS version looks like? Just curious. 1 Share this post Link to post
Gibbon Posted November 29, 2021 Spoiler It can be compatible (same with the Windows version when it is done) with Crispy/Choco etc.. However the menu buttons are hardcoded to look for the binary name (same as the Choco Mac launcher). It isn't a big change to modify it but you'll need a Mac for the XIB changes to the GUI, I can do 'unofficial' variants for other source ports. It is very flexible. I do have a version where an argument could be used to specify the binary to launch, but the setup needs to be hardcoded otherwise half your time on the launcher is going to be typing. I'm just trying to simulate the command line experience without the command line. 2 Share this post Link to post
Gibbon Posted November 30, 2021 Spoiler Here is the 'in development' version of the C++ Win32 API edition. Nearly done, about another days work left. Then I can finally release the next sprinkled version. 1 Share this post Link to post
Gibbon Posted December 1, 2021 (edited) So since I am playing it a bit more (it is an alright wad). I have implemented full support for NRFTL, this includes automap names, par times, the MAP04 secret and the ending text. I also did the same to SIGIL. So the latest master branch currently fully supports both WADS. For SIGIL, I still won't support the Episode 5 slot, so use the compat version. I did it quite a bit differently than Crispy did as I wanted to keep that vanilla feeling for Sprinkled, but add just that little bit of extra to it. I tested both pretty extensively.. aka, a lot of dooming :D New Flags: -nrftl I also added the levelstat text file from crispy, however I changed it a bit. I also implemented the same for Hexen. One thing to add, I have zero plans to do the same for the Master Levels. I disagree with it being a mission pack as historically, it was never released as such. So I won't be making it what it isn't, I'm keeping that as if it was 1995. I also will not be supporting E1M10. Again, historically it was a single level WAD. It isn't a continuation of E1M9, not in my book. Yes, I'm old and old school :) Edited December 1, 2021 by Gibbon 7 Share this post Link to post
OpenRift Posted December 1, 2021 (edited) 7 hours ago, Gibbon said: I have implemented full support for NRFTL, this includes automap names, par times, the MAP04 secret and the ending text. I also did the same to SIGIL. So the latest master branch currently fully supports both WADS. Yaaaaay! 7 hours ago, Gibbon said: For SIGIL, I still won't support the Episode 5 slot, so use the compat version. Awww.... Something important to note, all the other chocolate-derivative ports that can run Sigil are able to use the Episode 5 version, and from a multiplayer standpoint, it would probably be ideal to have that support, that way setting up some Sigil Deathmatch would be less convoluted with people playing across multiple ports. Just a thought. Plus it just seems more official with its own slot, lol. 7 hours ago, Gibbon said: I did it quite a bit differently than Crispy did as I wanted to keep that vanilla feeling for Sprinkled, but add just that little bit of extra to it. Code-wise, how would you say it compares to RUDE's SIGIL implementation, aside from the different episode slot? Edited December 1, 2021 by OpenRift 0 Share this post Link to post
Gibbon Posted December 1, 2021 RUDE does it yes but that isn't just a drop in. That implementation touches literally everything to boilerplate episode 5 onto Chocolate Doom. Not to mention pulling in a whole load of supporting functions and likely needing to also have its own .wad file by the looks of it. I don't want to add so much bloat just for one WAD. It would be easier doing the episode 5 slot via UMAPINFO on Sprinkled, and that's saying something (I've been looking into this as partial support) so it may be possible in the future. 3 Share this post Link to post
OpenRift Posted December 1, 2021 18 minutes ago, Gibbon said: RUDE does it yes but that isn't just a drop in. That implementation touches literally everything to boilerplate episode 5 onto Chocolate Doom. Not to mention pulling in a whole load of supporting functions and likely needing to also have its own .wad file by the looks of it. I don't want to add so much bloat just for one WAD. Yeah, that makes sense. 19 minutes ago, Gibbon said: It would be easier doing the episode 5 slot via UMAPINFO on Sprinkled, and that's saying something (I've been looking into this as partial support) so it may be possible in the future. 3 Share this post Link to post
HackNeyed Posted December 2, 2021 14 hours ago, Gibbon said: I have implemented full support for NRFTL, this includes automap names, par times, the MAP04 secret and the ending text. ... I did it quite a bit differently than Crispy did as I wanted to keep that vanilla feeling for Sprinkled, but add just that little bit of extra to it. Hey Gibbon thanks for the -sigil and the new -nrftl support! I do agree with the minimalist vanilla design but I really think NRFTL should also have the ending cast screen after MAP08 when using the -nrftl command. Right now players who beat MAP08 are sent to the secret map (MAP09) and upon beating that are sent to MAP05. I mean, it is meant to be an official "episode" with a secret map only accessible from MAP04. If you are already playing god and allowing a secret exit on MAP04 why not end the episode properly with the ending cast screen under the -nrftl command? I also noticed that, exactly like the BFG: Edition only sky1 is used and the music tracks are default Doom 2 track order. I actually agree with this and don't think you should change it! I mean, if you hard coded NRFTL's 3 (THREE!) duplicated music tracks then it wouldn't be very easy to use alternative music wads. With that in mind I'm attaching the original NRFTL music arrangement in a wad called NERVE-OST.WAD and the Community MIDI Pack also fixed up for Sprinkled-Doom called NERVE-MIDIPACK.WAD for anyone who is interested. Thanks again for the updates! nrftl_ost_and_midipack.zip 2 Share this post Link to post
Gibbon Posted December 2, 2021 (edited) Thanks for the OST! About the endings, not sure I understand. Map 4 secret goes to Map 9 which then goes to Map 5. Map 8 finishes the game and goes to the text screen. I'm assuming you compiled it yourself because the changes aren't in any binary yet :) Edited December 2, 2021 by Gibbon 1 Share this post Link to post
HackNeyed Posted December 2, 2021 (edited) I mean after the ending text the player is supposed to be taken to the ending "cast roll" screen where it tells you the name of the demons and you press the use button to see their death animation. Just boot up doom2, warp and no clip to beat MAP30. You will see the end text and then the cast roll. All the official ports end NRFTL the same way. However, Sprinkled-Doom loads MAP09 after the ending text. EDIT: Yes I compiled it today. You don't expect me to wait do you?!?! Thats just crazy. :) Edited December 2, 2021 by HackNeyed 2 Share this post Link to post
Gibbon Posted December 2, 2021 (edited) Lol! Ahh yes I see what you mean. I can add that. I can fixed that ;) @HackNeyed turns out it was a bug. I originally wanted the gamemission to auto select NRFTL and half-way through decided on the flag instead. I forgot to change this one line. So bug fixed, thanks! Edited December 2, 2021 by Gibbon 3 Share this post Link to post
Dusty_Rhodes Posted December 2, 2021 This port was already really cool, great to see NRFTL support. I assume the community midi pack works with it? I never want to play Map01 again without Decino's midi. 1 Share this post Link to post
Astronomical Posted December 2, 2021 1 hour ago, Dusty_Rhodes said: This port was already really cool, great to see NRFTL support. I assume the community midi pack works with it? I never want to play Map01 again without Decino's midi. That's why I want to see ML support, because the midi pack requires way too much work otherwise to get support and for the handful of really good master levels that would be nice. 1 Share this post Link to post
Gibbon Posted December 2, 2021 (edited) 11 minutes ago, Astronomical said: That's why I want to see ML support, because the midi pack requires way too much work otherwise to get support and for the handful of really good master levels that would be nice. I was looking into midi support for the community midis but only for NRFTL. Master levels isn't even a wad unless you stuff them together using slade. I guess I could see about whipping up doing a replace of tracks but nothing fancy. Don't forget, master levels isn't even the last semi-official release. The maximum doom stuff is also semi-official but nobody talks about that ;) Edited December 2, 2021 by Gibbon 1 Share this post Link to post
Astronomical Posted December 2, 2021 2 minutes ago, Gibbon said: I was looking into midi support for the community midis but only for NRFTL. Master levels isn't even a wad unless you stuff them together using slade. I guess I could see about whipping up doing a replace of tracks but nothing fancy. Don't forget, master levels isn't even the last semi-official release. The maximum doom stuff is also semi-official but nobody talks about that ;) The maximum doom levels were just id's version of the shovel-ware collections, I believe that crispy doom has the ability to load the levels in PSX order so that could be a solution so you don't need to compile every map into a wad (Or load every wad on it's own and to idmus the correct track like I did) 2 Share this post Link to post
Gibbon Posted December 2, 2021 Yeah crispy does a lot of things, though nearly everything I've seen is done via pointers (crispy->something). I'll take a look at what it's doing and see if I can implement it the Gibbon way. 1 Share this post Link to post
Gibbon Posted December 2, 2021 Also, the WIN32 launcher is almost done. Just a little housekeeping left to do and the next release will be done after that. Hopefully it'll also be a nice 'how to' of good WIN32 API programming :) 1 Share this post Link to post
HackNeyed Posted December 2, 2021 (edited) 14 hours ago, Gibbon said: So bug fixed, thanks! Thank you! It works great! ... Oh BTW if you have, lets say a dumb user who tries to... I don't know, warp to MAPS 31 or 32 OR somehow beats MAP 30 while using the -nrftl command they will probably be greeted with a "Segmentation fault (core dumped)". Just a heads up, I mean it would take a pretty silly user to ever see that right?... right?! :) I'm not saying anything has to be fixed just there might be some pretty silly users out there. Yeah, that's it... 6 hours ago, Dusty_Rhodes said: This port was already really cool, great to see NRFTL support. I assume the community midi pack works with it? I never want to play Map01 again without Decino's midi. The Community MIDI Pack won't work out of the box as it relies on UMAPINFO. However since Sprinkled Doom just uses the default Doom 2 tracks I did a little bit of renaming in Slade to get it working and I did the same for the original music line up. 4 hours ago, Gibbon said: Master levels isn't even a wad unless you stuff them together using slade. Or you can get a hold of Doom Classic Complete package for PlayStation Network. I mean it would be nice if some .ORG were to ARCHIVE the MASTERLEVELS.WAD from PSN somewhere on the INTERNET... sorry for yelling... I have a cold. ;) EDIT: oh the doomwiki link to the Doom Classic Complete also links to this patching project. Edited December 2, 2021 by HackNeyed 2 Share this post Link to post
Gibbon Posted December 2, 2021 16 minutes ago, HackNeyed said: Thank you! It works great! ... Oh BTW if you have, lets say a dump user who tries to... I don't know, warp to MAPS 31 or 32 OR somehow beats MAP 30 while using the -nrftl command they will probably be greeted with a "Segmentation fault (core dumped)". Just a heads up, I mean it would take a pretty silly user to ever see that right?... right?! :) I'm not saying anything has to be fixed just there might be some pretty silly users out there. Yeah, that's it... The Community MIDI Pack won't work out of the box as it relies on UMAPINFO. However since Sprinkled Doom just uses the default Doom 2 tracks I did a little bit of renaming in Slade to get it working as well as the original music line up. Or you can get a hold of Doom Classic Complete package for PlayStation Network. I mean it would be nice if some .ORG were to ARCHIVE the MASTERLEVELS.WAD from PSN somewhere on the INTERNET... sorry for yelling... I have a cold. ;) EDIT: oh the doomwiki link to the Doom Classic Complete also links to this patching project. Hmmm sounds like it has already been tested ;) those pesky users! I'll add a check in the -warp code that if it is using nrftl to block any warping past map 09 with some text saying how silly they are being :) Yeah it relies on UMAPINFO hence why prboom added support so fast and crispy has yet to do it. I tried doing a nasty hardcode with sha1 hashes and matching the file names in the wad but it wasn't working. I'll have to think of something. 2 Share this post Link to post
Dusty_Rhodes Posted December 2, 2021 1 hour ago, HackNeyed said: Thank you! It works great! ... Oh BTW if you have, lets say a dumb user who tries to... I don't know, warp to MAPS 31 or 32 OR somehow beats MAP 30 while using the -nrftl command they will probably be greeted with a "Segmentation fault (core dumped)". Just a heads up, I mean it would take a pretty silly user to ever see that right?... right?! :) I'm not saying anything has to be fixed just there might be some pretty silly users out there. Yeah, that's it... The Community MIDI Pack won't work out of the box as it relies on UMAPINFO. However since Sprinkled Doom just uses the default Doom 2 tracks I did a little bit of renaming in Slade to get it working and I did the same for the original music line up. Or you can get a hold of Doom Classic Complete package for PlayStation Network. I mean it would be nice if some .ORG were to ARCHIVE the MASTERLEVELS.WAD from PSN somewhere on the INTERNET... sorry for yelling... I have a cold. ;) EDIT: oh the doomwiki link to the Doom Classic Complete also links to this patching project. Oh that's an easy fix. I've been adding music to wads for a while now, no idea why I didn't think of that. I thought it worked differently with NRFTL, but I guess it doesn't. Cool. 0 Share this post Link to post
HackNeyed Posted December 2, 2021 15 minutes ago, Gibbon said: I'll add a check in the -warp code that if it is using nrftl to block any warping past map 09 with some text saying how silly they are being :) Yep, -warp and idclev... I tell ya what, sometimes I think there are users who are just lookin' for trouble. 31 minutes ago, Gibbon said: Yeah it relies on UMAPINFO hence why prboom added support so fast and crispy has yet to do it. I tried doing a nasty hardcode with sha1 hashes and matching the file names in the wad but it wasn't working. I'll have to think of something. I think a minimalist approach for Sprinkled is best. For the record I wouldn't say no to UMAPINFO but I wouldn't be hard coding a bunch of extra stuff like soundtracks. As shown with NRFTL, leaving Doom 2's default track order allows a simple alternative music wad to be used. Personally I would leave the rest to Crispy with it's bigger scope. I tend to think of Sprinkled Doom as if id Software had continued basic support of "Classic Doom" into the XP era and Crispy Doom as a major update for "Classic Doom" into the Windows 7/8/10 era. But that's just how I like to frame things. I think for basic support of masterlevels.wad from PlayStation Network you would have to at least hard code a few MAP07 specials and maybe remove some intermission texts. 6 minutes ago, Dusty_Rhodes said: Oh that's an easy fix. I've been adding music to wads for a while now, no idea why I didn't think of that. I thought it worked differently with NRFTL, but I guess it doesn't. Cool. It does work differently in other ports! It's like Episode 4 in the Ultimate Doom. They hard code a new track order from pre-existing tracks and because NRFTL has 3 instances of tracks being used twice you would need some UMAPINFO or possibly some DeHacked trickery to reassign more individual tracks for each level. However Sprinkled Doom doesn't do anything special for the music and works as if you had loaded nerve.wad in vanilla or Chocolate-Doom so a simple music wad works in this case. 1 Share this post Link to post
Dusty_Rhodes Posted December 2, 2021 2 minutes ago, HackNeyed said: It does work differently in other ports! It's like Episode 4 in the Ultimate Doom. They hard code a new track order from pre-existing tracks and because NRFTL has 3 instances of tracks being used twice you would need some UMAPINFO or possibly some DeHacked trickery to reassign more individual tracks for each level. However Sprinkled Doom doesn't do anything special for the music and works as if you had loaded nerve.wad in vanilla or Chocolate-Doom so a simple music wad works in this case. Thanks for all the info Hackneyed! This is good to know. From my various mapping adventures, I know the four IWADs and the basic functions of DOOM.EXE, Boom, and Dehacked like the back of my hand (I'm no coder, but I do have a good idea how the executable interacts with IWADs, PWADs, Dehacked, etc.). But I have so little knowledge on No Rest and The Master Levels. I have a lot to learn in that department and with how they work in various ports. As far as I know, Eternity is the only port with native Master Levels support (barring firing up Slade and merging them myself.). I'll have to open up NERVE.WAD and take a look. 1 Share this post Link to post
HackNeyed Posted December 2, 2021 (edited) 33 minutes ago, Dusty_Rhodes said: As far as I know, Eternity is the only port with native Master Levels support (barring firing up Slade and merging them myself.) The doomwiki has some help in the "See also" section on merging the separate wads to create a proper and hash verifiable MASTERLEVELS.WAD. If that proper wad file is in Crispy-Doom's search path it will show up as an extra episode for Doom 2 (also using the default Doom 2 music tracks). I haven't really tried any other ports beyond that but yeah I think you are correct that Eternity supports the original loose wad files. Edited December 2, 2021 by HackNeyed 1 Share this post Link to post
Gibbon Posted December 3, 2021 7 hours ago, HackNeyed said: I think a minimalist approach for Sprinkled is best. For the record I wouldn't say no to UMAPINFO but I wouldn't be hard coding a bunch of extra stuff like soundtracks. As shown with NRFTL, leaving Doom 2's default track order allows a simple alternative music wad to be used. Personally I would leave the rest to Crispy with it's bigger scope. I tend to think of Sprinkled Doom as if id Software had continued basic support of "Classic Doom" into the XP era and Crispy Doom as a major update for "Classic Doom" into the Windows 7/8/10 era. I agree, it's nice to have a simpler alternative to crispy. Nothing too advanced will ever be done. No coloured blood or hires (what's wrong with 320x200?) and there is ReBOOM for the little advancements. I didn't know eternity supported masterlevels without being in any wad. That's quite interesting. 2 Share this post Link to post
Gibbon Posted December 3, 2021 (edited) Sprinkled Doom 3.2.1! This is a hotfix release. Doom: Fixing desync with chocolate doom demo's related to extra gibbing functionality Full support for NRFTL Full support for SIGIL Level Stat (-levelstat) support - from Crispy Hexen: Minimal Level Stat support Setup: Clarification about how much gibbing is enabled All: Introduces a brand new launcher - Sprinkled Launcher - for MacOS and Windows. This release includes all sprinkled binaries, not just Doom and Hexen. No 32bit windows builds yet, I simply don't have time to keep doing that. I'll do it when I can. https://github.com/atsb/chocolate-doom-plus-plus/releases/tag/3.2.1 Edited December 3, 2021 by Gibbon 2 Share this post Link to post
Dusty_Rhodes Posted December 3, 2021 (edited) @Gibbon do you mind if I update the Sprinkled Doom wiki page? I figured I'd add the new -levelstat and -nrftl tags as features as well as the Sprinkled Launcher. Just out of curiosity, what language is the launcher written in? Edit: * Support for the [[No Rest for The Living]] expansion through a flag: {{c|-nrftl}} * Support for the [[Crispy Doom]] level stat feature through a flag: {{c|-levelstat}} * Minimal level stat support for Hexen * A minimal launcher for all Sprinkled binaries that allows the loading of command line arguments This is what I plan on adding to the features section. Edited December 3, 2021 by Dusty_Rhodes 1 Share this post Link to post
Dusty_Rhodes Posted December 3, 2021 Here's the pending changes page, with a link to the newest version: https://doomwiki.org/w/index.php?title=Sprinkled_Doom&stable=0&shownotice=1 0 Share this post Link to post
Recommended Posts