ludicrous_peridot Posted May 23, 2022 (edited) Cool, let me try those. WRT the intermission screen, Tartar has full length next location section of the intermission maps for Doom 2 coded in that use @oliacym 's excellent WAD. There's no UMAPINFO support, Doom-related code is simply extended for Doom 2. I will keep the Pos sound thing in mind - did not notice that myself. As for DMX, I don't have any plans at the moment; Gerwin did an excellent job of improving sound handling via Allegro in MBF 2.0.4, including Doom II OPL timbres, so even if it's not on par with DMX, I expect Doom sound in Tartar to be decent enough. EDIT: I've uploaded a video of intermission screen from a more recent (ahem, today's) build, with much better graphics lumps that @olyacim have themselves converted: Also, with the recent build (in BETA directory now) I am at least able to start Avactor in DOSBox with 63M of memory at 640x400. The MIDI error in Ancient Aliens I will have a look at. Edited May 23, 2022 by ludicrous_peridot 2 Share this post Link to post
ludicrous_peridot Posted May 25, 2022 A build is available now that is hopefully stable enough to start the Beta (you can grab it from BETA directory in the distro) and I will be updating the op to reflect that. It deals with the above issues and fixes a few sporadic segfaults. Apologies, you can't play Ancient Aliens with Tartar, but you can listen to the title tune now. :) 1 Share this post Link to post
oliacym Posted May 25, 2022 Thanks for this, will be keeping an eye on this as I go forward. 1 Share this post Link to post
ludicrous_peridot Posted May 27, 2022 One other "thing that that carried over from Ye Olde Eternity" - well, in fact from SMMU, - is overriding level information (title, music, progression etc) with that provided in PWAD, which is what Eternity Wiki is referring to as a deprecated form of EMAPINO. Even before starting with Tartar I have been experimenting with that and original COD engine build to provide entries for No Rest for the Living, so that it played in DOS exactly how it did on XBOX or in modern Unity port, but without any coding in the source port, and have actually provided the map marker lumps in Tartar distro's GOODIES directory (used to be called EXTRAS before earlier this week). Now I have just figured out the lumps I have uploaded before were all mixed up and were not the ones I was using in my patched version of NERVE.WAD! So I have uploaded lumps with proper contents this time. One would have to "patch" NERVE.WAD manually to have them integrated; Slade offers map marker lump editing - one has to use the Edit level script button when the lump is selected (as normally these contain Fraggle-script, not EMAPINFO ;) ); or alternatively one could drag the lumps into the original markers place, and then remove the original ones. As a bonus I've added in INTMAPS directory version of lumps that reference intermission backdrops from this mod; one would have to also add the graphics lumps, converted from the original PNG-s and having a horizontal offset of 120, as these are not provided with Tartar. Spoiler 1 Share this post Link to post
Woolie Wool Posted May 27, 2022 Why not make those map lumps autoload, along with nerve.wad itself if Tartar sees it? 1 Share this post Link to post
ludicrous_peridot Posted May 27, 2022 1 hour ago, Woolie Wool said: Why not make those map lumps autoload, along with nerve.wad itself if Tartar sees it? Oh, it would not be just autoloading the lumps, as that would screw up lump numbers completely. See, the port expects THINGS to follow map marker, and with autoloading this will simply not be the case, breaking level loading. While it is a reasonable thing, in principle, that port has some special handling of a pwad, I'd need to come up with some way of getting done... what could be achieved with a one-off edit. So there I go again: "boy, this is sooo complex...", probably meaning I will have this done later, when I have an idea on how to pull this off... and not in this Spring release :). Thanks for bringing this up: this was bugging me for some time, so appreciate outside input. 0 Share this post Link to post
Gez Posted May 27, 2022 (edited) Well, one possible precedent is to look at what other people have done previously for the same issue of "how to add extra lumps of data to maps without changing the maps". Exhibit A: GL nodes Quote The GL-Nodes are stored in a series of lumps which begin with a special GL level marker. This level marker is the same as a normal level marker (e.g. "MAP01") but with the prefix "GL_" added (e.g. "GL_MAP01"). This allows the GL information to be stored in a separate file. When the normal level name is longer than 5 letters, then the marker name must be "GL_LEVEL" and the name is stored inside the marker lump (as described below). Exhibit B: Conversations Quote Conversations are stored in binary form in lumps named SCRIPTxy, where xy corresponds to that of the MAPxy map slot. In addition, the conversations stored in SCRIPT00 are valid on every map. So basically you could imagine a a similar setup. Like FS_MAP01 would contain the FraggleScript/primitive EMAPINFO code for MAP01. This would allow to create MAPINFO packs for stuff without having to modify the original mapset. Alternatively you could implement UMAPINFO support but that'd be a more bigger endeavour; while an alternate lump reading scheme would be more like a quick hack. (Is there content in the level header? If not, is there a lump that matches this naming scheme and does contain content?) 1 Share this post Link to post
ludicrous_peridot Posted May 27, 2022 (edited) I went with a lump reading hack in the new build: rather than attempting to patch, say, NERVE.WAD with a PWAD, I am providing a way to "fix" a set of lumps, so that no matter which PWAD (or even IWAD) they get overridden in subsequently, they are always read from an explicitly provided special WAD, specified with a new -tape command line argument (tape? google engineering flowchart to see what I mean). This seems to be sufficient for providing SMMU-style mapinfos for WADs and shipping extra assets like backdrops or text lumps. Only a single -tape WAD is supported at the moment, as making this any more complex (or coding in autoloading) may lead to brain melting results. Then again, as with any hacks this may explode in one's face one day even in this simple state... I'm providing NRFTL.BAT with BETA build as an example of how to invoke Tartar for this and TAPENERV.WAD as a sample tape WAD. The latter contains 2 images converted from No Rest for the Living Intermission Maps mod by @oliacym that I take absolutely no credit for, but have not asked for permission to include. @oliacym please shout if you would want me to redact them from the sample WAD. EDIT: ..oh gosh, let 'em melt - I've put the auto-loading in (still only a single "tape" WAD is ever loaded) and uploaded the new version; just TARTAR -file NERVE should be sufficient, as long as there's NERVE.WAD in TAPE directory (that's the "tape" WAD, not your PWAD and a sample TAPE is available in BETA directory). And just as a reminder, in case of bitter taste -noload and -safe can help :) Edited May 28, 2022 by ludicrous_peridot 1 Share this post Link to post
oliacym Posted May 28, 2022 13 hours ago, ludicrous_peridot said: The latter contains 2 images converted from No Rest for the Living Intermission Maps mod by @oliacym that I take absolutely no credit for, but have not asked for permission to include. @oliacym please shout if you would want me to redact them from the sample WAD. I appreciate the heads up! But yeah, no worries, go for it :) 1 Share this post Link to post
ludicrous_peridot Posted May 31, 2022 This is in Beta now - not expecting any more new stuff any time soon, except fixing issues and intermission-related changes (e.g. TNT). 1 Share this post Link to post
oliacym Posted May 31, 2022 5 hours ago, ludicrous_peridot said: ...intermission-related changes (e.g. TNT). 3/4 done I'd say :) 1 Share this post Link to post
Woolie Wool Posted June 1, 2022 On 5/31/2022 at 7:58 AM, ludicrous_peridot said: This is in Beta now - not expecting any more new stuff any time soon, except fixing issues and intermission-related changes (e.g. TNT). I think re-adding quicksaves is necessary for this to be a truly useful port. 1 Share this post Link to post
ludicrous_peridot Posted June 1, 2022 (edited) On 6/1/2022 at 4:14 PM, Woolie Wool said: I think re-adding quicksaves is necessary for this to be a truly useful port. Luckily Quasar thought as much and did this back in 02. Now seriously, had absolutely no issues with quick save with COD.EXE and MBF 2.0.4, and did not play enough SMMU to even notice it was gone. Have I screwed it up? EDIT: Looking at this (and COD on idgames) made me realize this spring is... what? 20 years anniversary of the original port Tartar is based on? Spoiler ===================================================================== 02/16/02 - 03/01/02 SoM and I have made various changes all over for portability, most of them very small, but a few larger issues have arisen, particularily use of unistd.h IO functions that are poorly supported under Visual C++. Reintroduced another lost DOOM/BOOM/MBF feature, quicksave and quickload. Fixed a bug in the menu system with respect to popup messages and the way they close or open the menus when dismissed. Their behavior was inconsistent because they didn't save the state of the menuactive variable. Tweaked a little code for the console. ===================================================================== 03/02/02 - 05/18/02 ... Edited September 19, 2023 by ludicrous_peridot : XX 2 Share this post Link to post
ludicrous_peridot Posted June 2, 2022 (edited) EDIT: On 6/1/2022 at 7:30 PM, ludicrous_peridot said: Have I screwed it up? I have :) This has been fixed now both for released and Beta versions. You actually only need to re-download KEYS.CSC. EDIT2: ... and I've also updated the binary to have quicksave and quickload in key binding menu. There's also a change in how fuzz effect is rendered in higher resolutions, to make it a bit more "chunky" in line with the scaled sprites and reduce the "moire" slightly, and finally, fuzz will no longer be replaced with "checkered" translucency effect when that's enabled with r_fauxtrans CVAR. Another small update - reading the old changelogs I got an idea of a small fix for the MBF mushroom explosion effect, that did not work correctly in this port when its codepointer was referenced in an MBF-compatible Dehacked patch. So I fixed that. EDIT 3: Been toying with yet another option to load wads - automatically loading wads from a directory after the iwad but before all of the pwads, with the intention for players to drop into that directory "fix" wads, like Sprite Fixing Project or Sound Bulb. Seems to be convenient, even if brings the number of ways wads could be specified to Tartar beyond reasonable. Also couldn't resist trying out Sunlust, and to my surprise new game could be started and all maps except 28 and 30 could be loaded; -nodemo command line argument strongly recommended. I just wonder what JUMPWAD does to Tartar... Edited June 4, 2022 by ludicrous_peridot : fuzz 0 Share this post Link to post
ludicrous_peridot Posted June 5, 2022 "Beta business" aside, my ears have started to hurt from stock Doom sounds I am hearing all the time during testing and after looking around and spotting this mod: I put together a simple change to support loading of WAV lumps. Luckily Allegro has support for 16-bit samples and cards, so all seems to go smooth. I don't have an SB16 or similar, so could only test with SBPro emulation on my Yamaha just to see that it works on real metal, and obviously with DOSBox SB16 emulation, of which I have a video recorded Spoiler I may be able to test on SB Audigy next weekend. 0 Share this post Link to post
hawkwind Posted June 6, 2022 I've found with the tartar beta using dosbox that the IDDT cheat rarely works in the automap. When it does, I notice this in the DosBox Status Window ... Illegal write to ( insert various memory addresses here ) 1 Share this post Link to post
ludicrous_peridot Posted June 6, 2022 (edited) Thanks, @hawkwind . I've taken a look and update the binary, so please tell me if the error is still there. Please remember to get KEYS.CSC as well, as this did not have quicksave/quickload bindings before some time last week. I am using a single branch, so the WAV-related changes described below will also be in. For the illegal write error - I am curious if this still happens if you run Tartar with -safe command line argument? If so, please PM me the command line you are using that produces those errors. EDIT: I think I've broken other some cheats in the process (e.g. idclip with L bound to a command); will be looking at - probably during the weekend. And also making progress with something else. Is a bit of a mess at the moment, tbh: EDIT2: A bit how I feel at the moment. The music is great though... :) Edited June 7, 2022 by ludicrous_peridot : fuck++ 3 Share this post Link to post
ludicrous_peridot Posted June 10, 2022 An update on what I've been up to here: Support for loading extended nodes in ZDBSP format has been added A handful of problems immediately surfaced with maps that have huge vertical or horizontal extents and I've fixed some of them but... ... supporting more complex maps seems to lead to more problems than opportunities However as Ancient Aliens felt like it should now be playable I spent some time to deal with the problems from it having non 8 pixel font I've also tweaked keyboard keyboard again to make it feel more natural and cheats work where expected The status now is that Ancient Aliens may actually be playable, and some of Jumpwad maps get loaded (but map 3 for example causes a crash). Also MAP32 of Eviternity, while loading, is absolute mess. Some more vistas in the spoiler. Spoiler I've also recorded a boring video of menu and keypress handling changes testing. I am still to go through a few more issues that have been reported and chase up what's been happening lately with intermission maps (TNT and other things), and after a bit more testing will share the new build. 2 Share this post Link to post
maxmanium Posted June 10, 2022 I'm curious, what issues does ancient aliens have running with these DOS ports exactly? 1 Share this post Link to post
hawkwind Posted June 11, 2022 STRAIN.wad map07 Exiting map07 of STRAIN.wad is impossible, due to line 1021 being flagged impassible. 2 Share this post Link to post
ludicrous_peridot Posted June 12, 2022 (edited) On 6/10/2022 at 9:40 PM, maxmanium said: I'm curious, what issues does ancient aliens have running with these DOS ports exactly? With this exact DOS port, I had at least the following issues: Bigger than 8 pixel high font was causing console prompt to be hidden and most recent message to be hidden Also menus were not showing fully as they were laid out for 8 pixel high fonts What was worse buffer overflows were occurring on menu screens that were causing crashes later on during the game MUS lump converter was choking on unknown Controller number and occurrences of End of measure and Unused events, so there was no music All of the maps were using extended node format so did not load at all to start with There was a bug in how automap scale was selected leading to math overflows and spaghetti on automap To add to that it's only yesterday that Tartar started to render: textures that had width that was not exactly a power-of-2 number textures with missing columns in their definition - Tartar was recording an error before, but now replaces such column with fully transparent ones ...which probably would have eventually gotten in the way of playing Ancient Aliens. On 6/11/2022 at 4:07 AM, hawkwind said: STRAIN.wad map07 Exiting map07 of STRAIN.wad is impossible, due to line 1021 being flagged impassible. Thanks for pointing this out. I checked the level in MBF and behavior was the same (which I guess makes it canonical ;), so while I went on to resolve this rather "aggressively", the behavior is controlled by an on-by-default compatibility option: Spoiler The changes above are included in a fresh build, which I am no longer able to designate Beta, and hence have now included a DEV directory in the distribution. In addition to what I've just mentioned, the dev build has: Less confusing key bindings handling, so that cheats should work where expected Console showing over the menus and game and other widgets not messing with console input handling Menus rearranged to behave better (and safer) with wads that have fonts bigger than 8 pixel in height Auto-loading of "fixes" wads after IWAD (intended for Minor Sprite Fixing Project, Doom Sound Bulb and the like). Drop them into FIXES directory - or into FIXES\<IWAD> to be loaded for a specific IWAD (e.g. FIXES\DOOM or FIXES\TNT). While extended nodes loading is in as well, the math-related changes I've made are mostly way off, and some issues can be observed even in levels with conventional nodes (e.g. e1m1 sky is rendered ba-a-a-dly), so I suggest to treat it as a "novelty" at this point. I have not updated OP with these details, and the readmes are no longer keeping up with the builds - will address this at a later point. EDIT: so there's horizontal shearing in Doom and MBF renderers and I only noticed that yesterday... quite a blow :( Edited September 19, 2023 by ludicrous_peridot 0 Share this post Link to post
ludicrous_peridot Posted June 25, 2022 (edited) New DEV build has been uploaded that attempts to deal with some of the issues maps with huge vertical extents pose (especially the maps with nodes in extended format) hopefully reducing crash occurrences in such circumstances. Maps 1, 2 and 3 of jumpwad can be loaded and navigated and show automap fine; map 27 of Eviternity technically loads as well. Now, my latest discovery are the "tall" patches which need to be supported to correctly render modern WAD graphics. Tartar does not have this support yet. The build also fixes several small bugs introduced in the previous one (e.g. crash from Eternity Options menu for the recently introduced compatibility flags, or crash on Doom 2 tally screen when launched with -noload). Also for the intermission map WADs file names shared by @oliacym (intmapd2.wad and intmapnr.wad namely) have been coded in. I'll update the guides with this information, but for now the gist is: simply copying "official version" into TARTAR.EXE directory will not work with the BETAs published before. Plutonia and TNT are not supported yet. Next thing on my list is actually taking a break. I have started finding it harder and harder to keep up with my other commitments and progress with Doom modding and coding "stuff", so will be putting the stuff on hold. I am keeping the ideas I have for Tartar (stability, unfinished business like tall patches or intermission maps in Final Doom, but also some others as well) for a later time this year. Fingers crossed a fresh Beta may see the light this fall, and by Christmas I may actually have a tested release candidate for TARTAR23. While coding is on hold, I will be documenting the changes and updating readme-s and guides, will put up-to-date information into OP (including known issues), and make sure that git tags reflect builds state - all of this I normally do on the go anyway. EDIT: I actually had a chance to try Doom Sound Bulb with Tartar DEV build on a real card with SB16 emulation - SB Audigy in Windows 98 - and it actually worked. Edited June 26, 2022 by ludicrous_peridot 1 Share this post Link to post
Quasar Posted June 25, 2022 On 6/1/2022 at 11:30 AM, ludicrous_peridot said: EDIT: Looking at this (and COD on idgames) made me realize this spring is... what? 20 years anniversary of the original port Tartar is based on? Only of the start of my changelogging ;) The first version of Eternity was a slightly modified Boom executable actually, back in 1998, so I would consider development to have started at that point. There's virtually nothing left of that in the SMMU lineage though because I rewrote most of it as I was bringing features over from MBF. 1 Share this post Link to post
_delete my account_ Posted July 6, 2022 (edited) Are there plans to add Heretic and Hexen support? Unfortunately, there is no Hexen port for DOS with high-resolution screen support. For a Heretic, there is only Legacy and Hexetic. 0 Share this post Link to post
ludicrous_peridot Posted July 9, 2022 (edited) On 7/6/2022 at 8:43 PM, Angel Of Nemesis said: Are there plans to add Heretic and Hexen support? Unfortunately, there is no Hexen port for DOS with high-resolution screen support. For a Heretic, there is only Legacy and Hexetic. No plans for that. However I am tempted to do a hires Hexen port, as this comes up all the time on various boards, and seems like I have everything I need in the toolbox. Now, this is not happening until 2023 and definitely not as part of Tartar. Maybe "Sir." @Gibbon can beat me to it though? :) 1 Share this post Link to post
_delete my account_ Posted July 9, 2022 (edited) 5 hours ago, ludicrous_peridot said: However I am tempted to do a hires Hexen port, as this comes up all the time on various boards, and seems like I have everything I need in the toolbox. Now, this is not happening until 2023 and definitely not as part of Tartar. Maybe "Sir." @Gibbon can beat me to it though? :) I am glad to hear that there is hope for the port after all. I also want to thank you for Tartar. To my surprise, it launched Plutonia Revisited 2 without crashes, I checked all the levels using the IDCLEV code. The game works very well on Pentium 3 500 MHz, 128 mb RAM. 2 Share this post Link to post
ludicrous_peridot Posted August 14, 2022 (edited) Some progress with Tartar: - docs and readme-s have been updated to be up to date with the code - op reworked - distro rearranged - tall patches for mids and sprites are in the development build (the simple part) - for other textures with tall patches a flimsy workaround (because I'm not doing the hard part) is also in the development build is still being worked on and has an off-by-default guard in the Eternity Options menu that needs to be flipped on by the player. The flip is in the development build but the workaround is not. Vistas incoming While Heliopolis looks habitable after a long while, all above show some artifacts when up close. It may, however, already be just as much as I can devote to this for Stage 3 in the works. That said some work also remains for custom intermission screens. Edited August 15, 2022 by ludicrous_peridot 4 Share this post Link to post
Akita Posted September 11, 2022 On 1/2/2022 at 12:02 PM, ludicrous_peridot said: Can't remember the specifics, but on VOGONS boards there's a long thread where a person was producing experimental builds of more recent EE for DOS. There was some rationale for that - like getting some code from EE work in DOS, so that it could be back-ported, and the the builds were mostly crashing, at least for me. Maybe something that could be of use for you though. Sorry to barge in, but I think this might be the thread you were talking about, specifically pages 4 to 5. 1 Share this post Link to post
ludicrous_peridot Posted November 17, 2022 Recent brilliant Knee Deep in Knee Deep in ZDoom has inspired me to blow off the dust from Tartar code and prepare a maintenance release of Stage 3 that mostly addresses issues with the new mod (all that while Stage 4 has been put on hiatus somewhat and none of Stage 4 commits have made it through into the trunk yet). The release in the works now will contain Spoiler New Tartat build that: 1. No longer detects Freedoom Phase II as being TNT Evilution, outputs Feedoom Phase I or Freedoom Phase II as the name of the game at the start and treats Freedoom as a game mission pack internally 2. Inverts the logic for SMMU coloured lightning and tall textures support compatibility flags to bring them in line with how compatibility flags work, all this for better demo compatibility (flag on means feature off) 3. Does not corrupt recoloring tables after blood recoloring is switched off - at least KDiKDiZD was sensitive to this resulting in sprite artifacts 4. Supports new option in SMMU-style map information to signal that blood recoloring is not recommended in a map. Loading such map will suppress blood recoloring for the duration of the map, but not change any of the game options, allowing the player to switch between, say KDiKDiZD and some less palette-hacks-intense other mod, without the hassle of going into game options each time. The way it is achieved is by treating the option in mapinfo as a "soft" option in the sense that after the level is started and blood recoloring is suppressed, player may switch it back on any time via Options / Enemies menu and that choice will persist throughout the playthrough, including respawning and subsequent next level. Starting new game resets the engine to again respect recommendations from the maps. 5. Makes dehacked patches imported from JUMPWAD.WAD and INSTADOOM.WAD work with PWAD-s that themselves have complex PWAD patches, thus enabling selfies and Archie-infused jumping with them. 6. Fixes buffer overflow errors when running commands from SCS script files including from KEYS.SCS, and improves controls over buffer length handling here (sound samples) and there (game sprite list). New compatibility WAD for KDiKDiZD that: 1. Shows longer names for the maps and tall skies (as modern Eternity Engine does) and marks maps to not have monster blood recoloring on them 2. Changes selfie sprites from INSTADOOM to be displayed with correct colors 3. Addresses menu items and message drawing issue with Tartar that results in some of the colors being wrong for them Look for the WAD named KDiKDi_A.WAD in GOODIES\TAPE and put it into TAPE directory to be loaded by Tartar automatically with KDiKDiZD. New kind of distribution package for Tartar For the maintenance release I am introducing an experimental package that includes Tartar preconfigured and bundled with DosBOX for Windows and all the goodies and extras, all as a single ZIP file. Freedoom Phase II is included as IWAD and Community Chest 2 as a sample PWAD - drag it onto DOOM2.CMD to start playing immediately. This package includes works by other authors that are provided unmodified with readme and license files available in COPYRGHT directory (provided these were part of the said works). Look for Tartar-portable.zip in the binary distribution directory to try it out. Note that: I. None of the commerically available IWAD-s or PWAD-s are included. II. An alternative build of Tartar is included in the portable package that does not support 640x400 resolution and switches to 640x480 resolution instead. Finally, as a small bonus an alternative take on MAP01 of KDiKDiZD is included which allows the player to select difficulty level and jump to the ZM1 via a teleporter in the room. Load it after the mod itself this way: TARTAR -file KDiKDi_A KDiKDi_B KDiKDiM1 -warp 1 Be mindful of playing too much with that UAC terminal found in the map - you have been warned. A flick of what t expect 5 Share this post Link to post
esselfortium Posted November 17, 2022 1 hour ago, ludicrous_peridot said: A flick of what to expect I love it! 2 Share this post Link to post