Martin Howe Posted August 23, 2015 WinDOOM 2.015 So why am I porting a 14 year old DOOM source port to modern compilers and modern Windows (VS2015 and Windows 10)? Because I wanted a .NET port of DOOM. There was one back in 2006 but Satan only knows where that guy who wrote it is now, let alone if he even has the source. So I had to roll my own. The idea was to start with a clean straight Windows/DirectX port of Vanilla Doom, clean it up, refactor the code, etc., and then use that as a basis. So no flats/sprites-in-a-PWAD, no DeHackEd, no BOOM/MBF extensions, no SDL or other libraries; a clean straight Windows and DirectX source port. WinDoom, as amended by Dean Wiley, fitted the bill. This is purer than Chocolate Doom - but it won't stay that way for long :P It was quite a job to even get this far. The DirectX version it works with is old, the MUS2MIDI code was totally borked (I used public DOOM3 BFG source), the screenshot format is PCX which works is so old that even Paint.Net can't open it (had to use FastStone Image Viewer and IrfanView should work too). Of course then there were the the usual crash fixes: Unterminated sprite list - fixed. High-resolution crash in r_things.c - still working on that one. Crash handler with stack dump - done. Compiled with Visual Studion 2015 Community Edition. Tested on Windows 10 with Doom Shareware, Ultimate Doom, Doom2, TNT and Plutonia. Download program: WinDOOM2015x86.zip Download source: WinDOOM2015src.zip If you have Chrome it will ask to Keep or Discard these files as they are very careful about downloads. Screenshots: This is nothing serious, just a bit of fun for when I have the odd couple of spare hours :) Of course I seem to be spending rather more time on it than I meant to :p Oh and just for the lolz: 0 Share this post Link to post
VGA Posted August 23, 2015 Good job, dude. Although I can't think of a use for it 😕 Then again, this is the Doom community, "just because" is our motto. Last year I got Doom95 to work on my Win 7 and for a while, I was using it to play vanilla pwads lmao. Hey, maybe you could emulate Doom95's behaviour and create a Chocolate Doom95 niche port ... It was one of the first uses of directx 😁 0 Share this post Link to post
Martin Howe Posted August 23, 2015 Well, it's early days, but who know what the future holds? I read the guy in Chocolate Doom started that in much the same way, and it just grew and grew. Well done on getting Doom95 to work :) Oh and I apologise to Doom.NET guy, user Scet - apparently he is here and posted as recently as June this year. Be interesting to see if he notices this :) 0 Share this post Link to post
Lvangundy Posted August 23, 2015 I'd be curious to read a thread where you report that Paint.NET can't open the old PCX format. I wonder if the dev knows what it is or how to read it. 0 Share this post Link to post
VGA Posted August 23, 2015 Lvangundy said:I'd be curious to read a thread where you report that Paint.NET can't open the old PCX format. I wonder if the dev knows what it is or how to read it. Are you crazy, of course they know what it is: http://www.getpaint.net/doc/latest/HelpMenu.html You think there aren't any programmers more than 30 years old or what? 0 Share this post Link to post
Lvangundy Posted August 23, 2015 I was sort of trying to be silly and serious haha. I guess it would have been more interesting to see their reaction in response to people asking for that format. You never know man, there are lots of younger programmers that have never seen Turbo Pascal etc.. Doom in Pascal...hmm.. VGA said:Are you crazy, of course they know what it is: http://www.getpaint.net/doc/latest/HelpMenu.html You think there aren't any programmers more than 30 years old or what? 0 Share this post Link to post
Jon Posted August 23, 2015 MartinHowe said:the screenshot format is PCX which works is so old that even Paint.Net can't open it We recently made some changes in chocolate-doom git to the PNG screenshot writer so it wrote aspect-correct screenshots: which meant outputting 1600x1200 sized PNGs. There were some concerns about the file size, but it turned out they were generally a lot smaller than the equivalent 320x200 PCX. It turns out the PCX writer has some borked RLE that actually makes the files larger than if it didn't try to compress them. 0 Share this post Link to post
Martin Howe Posted August 23, 2015 Thanks for the heads-up and suggestions about PCX. I'll check out the PCX plugin for Paint.NET soon. In the meantime, having tried a screenshot at 1280x1024, I really should have increased the default heapsize earlier, LOLint mb_used = 16; // Sensible on modern multi-gigabyte systems - MH 2015/08/23Well, it's good enough for Chocolate Doom, so it's good enough for me :P 0 Share this post Link to post
Scet Posted August 27, 2015 Hey I still exist, so what if I don't post much of anything. I worked on various Doom projects from 2006 to 2010. Early ones where basically map viewers written in C# just based off the WAD format. Later some attempts where made to rewrite the C source in C#, but didn't get very far past rendering and basic collision, I think I had sector effects working too. The C-isms in the gameplay and software rendering code make a direct port to .NET difficult. The last iteration was me rewriting what I could in C++. Not doing anything too crazy, but trying to eliminate what C-isms I could while still being able to compile and test the changes. I should point out everything was always based off Chocolate Doom. I sent the C++ version to Meas for Mocha Doom, his Java port. Whether he used any of it or not, doesn't matter. I'd seriously suggest looking to Mocha Doom if doing a .NET port, especially reading that tech page on the site. 0 Share this post Link to post
Gez Posted August 28, 2015 Lvangundy said:Doom in Pascal...hmm.. It basically exists. jval made something quite impressive with DelphiDoom. http://doomwiki.org/wiki/DelphiDoom 0 Share this post Link to post
Martin Howe Posted August 28, 2015 @Scet: Thanks - interesting comments; I'll have a look at Mocha Doom now. @Gez: Yeah, I was big into Pascal at that time and thought DelphiDoom was awesome. 0 Share this post Link to post
Martin Howe Posted August 28, 2015 Bit of tweaking to the startup UI :) 0 Share this post Link to post
Martin Howe Posted August 30, 2015 And so it begins... :D (Click the preview below for the full image @ 1280x1024) 0 Share this post Link to post