Cire Posted April 4, 2018 Is there any source port yet that has made any progress towards supporting running any of the pre-1.0/0.99 Doom IWAD's? The only thing I know of is that @kb1 said that KBDoom planned to do this once, don't know if it's still planned? The press beta would probably be the simplest to implement support for. Not really sure what would be the best approach to do such a port either. Maybe fork an existing port like GZDoom since it seems to have some support for it. I Think there are two tasks to do to make it work, first would be to get it recognize the IWAD as such, and secondly add support for the beta Graphics format. I've read that GZDoom has better support for custom IWAD's nowadays too, and I remember that @Gez said he had some code to load the old patch format in ZDoom too I belive? 0 Share this post Link to post
Death Egg Posted April 4, 2018 I'd love to see something like Calico that supports them exactly as they were, and then a port like Eternity support them with improvements. 1 Share this post Link to post
kb1 Posted April 6, 2018 (edited) On 4/3/2018 at 11:09 PM, Cire said: Is there any source port yet that has made any progress towards supporting running any of the pre-1.0/0.99 Doom IWAD's? The only thing I know of is that @kb1 said that KBDoom planned to do this once, don't know if it's still planned? Yes, I did a lot of work in this area, but so far, I fake it. With KBDoom, you have to load a custom wad (in normal release format). This wad contains fixed textures, sprites, and maps. In the code, I emulate the slow lifts of the beta, the funky bobbing of the alphas, the texture bug of the alphas, etc. In the alphas, I think if you wanted a long wall, you had to make a patch as long as the wall was. And if the wall was longer than the texture, the last column would be repeated. You can see this in the opening room with the cards, the chairs, and the 4 players. The large column shows this repeating last column bug. Thank goodness Carmack added repeating textures! I had special things, like imps that disappear when you shoot them, and the alpha monsters with the funky colors that you can walk through. There are a few other things I emulate, like how the player just drops instantly when falling off a ledge, and a few others. Unfortunately, my approach leaves a lot to be desired: I'd like it much better if I could load the alpha/beta IWADs themselves, read the data out of them, and convert everything to modern format at runtime. To do it properly requires disassembly of the executables, to get all the proper timings, etc. I empirically tweaked my stuff to look as close as possible to the old programs, but I could be off a tic or two. It's a hell of a lot of work to do it properly, just for some maps that half-ass work. Still, it's neat to see the alphas at 1920x1080 resolution :) I just don't have the time anymore to get in there and do it right :( I will get to it eventually - it's on my master to-do list (which is very very long). Edited April 6, 2018 by kb1 2 Share this post Link to post
Cire Posted April 14, 2018 Speaking of Calico, maybe do 3DODoom next? It's the other open source console Doom. Would be very interesting to see such a port 0 Share this post Link to post
Couldn't not display Name Posted April 14, 2018 MBF supports press-release mode, but not the exact one. 0 Share this post Link to post
Cire Posted April 15, 2018 I was talking about running the IWADs directly though. Should be possible since their selfcontained. I think ZDoom is closest to support them. It reads most of the data, at least the press beta. Except dosen't recognize it as an IWAD and the beta patch graphics format 0 Share this post Link to post
kb1 Posted April 25, 2018 Most of the beta IWAD formats and structures are very close to the final release. However, the alphas are radically different. You have to make a lot of new functions to be able to read textures and patches, the very different map formats, etc. The best bet is to build a bunch of converters that "upgrade" the lumps as they are read, into release format. Finally, there are different (but simple) behaviors with monsters, and objects in general, and in how the player moves. It's something I've been wanting to build for a long time. Unfortunately, it's a lot of work, for not too much payoff. The alphas are neat to look at and explore, once or twice, but it's not like there's 50,000 alpha-style WADs to play. 2 Share this post Link to post
zokum Posted April 25, 2018 To be honest, this does sound more like something within the scope of Chocolate Doom. Being able to read the older data formats and play the press beta and alphas on modern systems. 1 Share this post Link to post
SaladBadger Posted April 25, 2018 I don't really see much value in simply simulating them, given the not playable part of them. Loading the data and having a look around the maps seems simple enough (though that's gonna be painful in release based code unless you have an integrated nodebuilder I imagine) A reverse engineering project would be interesting to really figure out how the Doom engine progressed over the years, as well as maybe learn some other interesting things in the process (I'm curious how far along AI is in 0.5, there's references in the file to the A_Look and A_Chase function, but no related functions like P_NewChaseDir, so no clue if its just a stub or not. interestingly A_Scream is also in there). But there's just not really been enough interest, it seems, aside from a fair amount of work on the press release beta. 0 Share this post Link to post
kb1 Posted April 27, 2018 (edited) Oh, there's interest. Time, on the other hand... Yep, you'd need the nodebuilder, or you'd have to build a new mini-engine for wall and object clipping, rendering, etc. The wall texture stuff is very different from version to version. As far as the AI goes, I'm not sure how far it was implemented, but it can be emulated by making monsters that can either be totally passed through while they do the 2-step, or monsters that simply disappear when shot. Actually, I think it's ok to fake it with a special WAD file, because the resources and engine are totally fixed - no one is going to make an Alpha 0.4 map, for example (someone probably would.) I think Alpha 0.5 even tries to play a demo, but it goes out of sync. At one time I had such a WAD, and I had all the things and behaviors setup to emulate Alpha 0.2, 0.4, 0.5 (didn't know about 0.3 then), and Beta. I had to add very minor additions to the source, to support the slow lift seen in the Beta map that became E1M2, and I had to emulate a wall renderer bug from the Alpha 0.4/0.5. Also, some bobbing changes, and instant player climb/dropoff. So, why not fake it, at least until a full disassembly of the Alphas+Beta can be done? It's not like there's any demos to sync, and, other than perhaps the Beta, there's not much gameplay in the Alphas, except plain exploring. Who cares if the player is a bit faster, or if he jumps exactly right? It would be neat to have the real thing, but it'd be a massive chore, for a rarely used oddity. Edited April 28, 2018 by kb1 1 Share this post Link to post
elvisish Posted August 17, 2018 Is there a wad that conveniently has all of the maps available for using in source ports? I found this: http://deathz0r.slipgate.org/alpha.php is this the best available? 0 Share this post Link to post