|
Post by jval on Apr 20, 2022 12:19:13 GMT -5
This thread is to present you the DelphiDoom source port, it's derivatives and some custom tools I've created. IntroductionDelphiDoom is a mature source port with more than 17 years of development. It comes with 4 main branches, supporting Doom, Heretic, Hexen & Strife. Latest version is 2.0.7.733 and it can be downloaded at it's sourceforge site: DelphiDoom (It also supports Check Quest 1 & 2, Hacx and even the very first shareware version 0.99 of Doom) DelphiHeretic (It also supports Heretic shareware and Heretic wide area beta) DelphiHexen (It also supports the Deathkings of the Dark Citadel and the public beta) DelphiStrife (It also supports Strife teasers 1.0 & 1.1) Main Features: - High quality and high performance true color software rendering with dynamic lights
- OpenGL accelerated mode
- Voxels
- 3d Models (OpenGL version only)
- 3d Floors (one per sector)
- Slopes
- Textured automap (both OpenGL and software mode)
- Advanced script engine (PascalScript) to customize levels and actors
- Polyobjects and ACS script in all branches
- ACTORDEF script to create custom content (with very similar syntax to ZDoom's DECORATE)
- UDMF map format (specs)
- DEH, BEX & DEHEXTRA support
- BOOM & MBF21 support
- UMAPINFO support
- Sprites with 16 or 32 rotations
- Uncapped framerate
- etc...
You can watch demo videos in DelphiDoom's youtube channel. Editing examples can be downloaded here. Screenshots: But that's not all: Older versions of DelphiDoom's source code have been utilized to create 2 additional Doom (only) source ports: - DoomXS: (Download) It is a very basic source port, with very low system requirements. It runs both on old and new hardware and it can be used with vanilla maps.
- FPCDoom: (Download) A limit removing source port with true color software rendering and dynamic lights. It supports DEHACKED & DEHEXTRA modifications. It also features limited ACTORDEF support.
Do you want more? Latest versions of DelphiDoom have been utilized to re-create additional not-id-tech1 DOS games of the 90's:
- RAD: (download) It is a source port of the 1995 game "Radix: Beyond the void".
To run the game you will also need the RADIX.DAT data file of the v2 Remix edition. Information about the game, as well as the shareware data can be found at the dosgamesarchive site. - GLSpeed: (download) It is a source port and expansion pack of the 1995 game "Speed Haste". Latest version can be downloaded here.
To run the game you will also need the SPEEDH.JCL data file of the game. Information about the game, as well as the shareware data can be found at the dosgamesarchive site. - Mars3D: (download) It is a source port of the 1997 Chinese game 終極戰士 (Mars - The Ultimate Fighter). Latest version can be downloaded here.
To run the game you will also need the game data. The English translation of the full game can be downloaded at Community Releases site, which translated the game.
Screenshots: Still not enough? DelphiDoom's source code was used in the following tech demos: - Dragon: (Download) Based on DelphiDoom 1.1.3.489 - beta - opengl mode. This was my entry to the 1nd PGD challenge - Simple controller.
- Portal Adventure: (Download) Based on DelphiDoom 1.1.3.510 beta - opengl mode. This was my entry to the 2nd PGD challenge - The Journey
And some editing utilities, many of them can be used not only by DelphiDoom but also by other advanced source ports as GZDoom or ketmar 's K8Vavoom, or even with vanilla: ACCP: ( download) DelphiDoom's ACS script compiler DD_IDE: ( download) DelphiDoom's script IDE, including a command line PascalScript compiler. DD_LAUNCER: ( download) DelphiDoom's launcher App. DD_VOXEL: ( download) DelphiDoom's VOXEL Editor. DOOMTREE: ( download) Procedural Tree generator with out of the box sprite and voxel export. DOOMROCK: ( download) Procedural Rock generator with out of the box sprite, voxel & md2 model export. DD_MODEL: ( download) Procedural (code) generated models for the OpenGL version of DelphiDoom. PBSP: ( Download) Doom BSP node builder based on bsp 5.1 source code. DD_FONT: ( Download) Doom font creator. ENDEDIT: ( Download) B800 Text screen editor, an easy to use tool for creating ENDOOM screens. MARS2WAD: ( Download) Converts to WAD the main data files with the *.MAD extension from the games Mars, Hero3D and Tao. PK3ENTRY: ( Download) The PK3ENTRY lump management tool (DelphiDoom long filename aliases inside WADs) RADGE: ( Download) [RA]ndom [D]oom [GE]nerator based on slige v. 490. RAD2WAD: ( Download) Automatically create WAD file with the resources of "Radix: Beyond the void" data file (RADIX.DAT) SPEEDED: ( Download) GLSpeed & Speed Haste tile editor. DD_TERRAIN: ( Download) Terrain editor/generator with WAD map export. VOXELIZER: ( Download) Tool to create voxels and sprites from MD2 models. Exports out of the box ACTOR definitions for GZDoom/K8Vavoom/DelphiDoom etc. WADPAINT: ( Download) Tool to combine and smoothly blend textures from WAD or PK3 resources. And finally a couple of viewers: DoomViewer: ( download) A id-tech map 3D viewer. It works only with vanilla/limit removing maps. The rendering engine uses Direct3D and it is not based on Doom's source code. I3DViewer: ( download) GLSpeed/Speed Haste model viewer. It can view models inside the main data file (SPEEDH.JCL) Enjoy!
|
|
|
Post by ketmar on Apr 20, 2022 12:35:31 GMT -5
and as i've been tagged, i have a great pleasure to be the first to recommend you all to try this sourceport! among other features is has an unique software renderer, and really powerful PascalScript (so powerful that you can use it to develop a platformer! no joking!). give it a try!
|
|
|
Post by jval on Apr 20, 2022 12:51:29 GMT -5
and as i've been tagged, i have a great pleasure to be the first to recommend you all to try this sourceport! among other features is has an unique software renderer, and really powerful PascalScript (so powerful that you can use it to develop a platformer! no joking!). give it a try! Thank you ketmar! Of course if you prefer OpenGL rendering, please do not try DelphiDoom, I highly recommend you to use K8Vavoom!
|
|
Deleted
Deleted Member
Posts: 0
|
Post by Deleted on Apr 20, 2022 13:10:53 GMT -5
Jesus Christ, i don't understand half of the features.. i must be the clueless dumbass on this forum. Sorry to the be that guy OP, but let's role play here a little bit.
You'll be the salesman and i the stupid customer.
I see your source-port on the display alongside the choco variants, prboom, dsda-doom and woof - then you see me showing clear signs of confusion -or maybe constipation, you find it hard to tell- while reading the item description for this new line of products. You sigh, put a fake smile on your lips, approach this turd-looking nutjob and ask "How could i help you, sir?" and with a puzzled Jesse Pinkman expression, i reply: "Will this fancy software mode make nuts run faster on my celeron D than woof does?"
|
|
xeepeep
Banned
Forever
Posts: 2,338
|
Post by xeepeep on Apr 20, 2022 13:30:44 GMT -5
Tried it out for the first time since 2018-ish.
Startup takes a VEEEEEEERY long time. It seems to stall for over 5 seconds on "DEH_Init", then around a second on something about parsing ACTORDEF lumps, then a function called something like "R_Init_Transparent8tables". After that's done, you get a grey screen for another 5 seconds until the main menu shows up. All in all, 15-20 seconds from double clicking doom32.exe to the main menu. This already disqualifies Delphi Doom from being a serious competitor, in my view at least. For comparison, ZDoom takes around 5 seconds, Doom Retro with its sexy fade-in animations takes 10, not counting the initial "launcher" both of those have.
But let's keep going: I couldn't figure out how to turn off mouselook. You can turn down the Y axis sensitivity all the way down, but that completely disables the vertical axis, I don't want that, I want classic Doom mouse control. Once again a literal non-starter for me. Changing the resolution doesn't change the aspect ratio (changing to 1024x768 just stretches it over my whole 1080p screen). You can solve this by switching to "Exclusive Fullscreen" mode but ugh do we really have to do that in %current_year%. The doom bitmap font is weirdly horizontally stretched in widescreen mode (1920x1080). And lastly why the hell is the exe called doom32.exe anyway? What kind of name is that? I thought the port's called DelphiDoom?? Are we doing Doom Legacy's "doom3.exe" thing again??
Questionable choices: ENDOOM is on by default, crosshairs are on by default, vulgar exit messages are on by default. I don't really mind this, but I think most people will turn the first two off right away, and some might dislike the third one.
And I haven't even started playing yet.
Don't misunderstand me, I'm not trying to get you down or something but... I just don't like this port at all in its current state.
Also DoomXS is neat but no resolution change option... into the Recycle Bin it goes. However, if I could set it to 4:3 aspect ratio (NOT stretched to 16:9), I'd like it.
|
|
|
Post by jval on Apr 20, 2022 13:50:02 GMT -5
Jesus Christ, i don't understand half of the features.. i must be the clueless dumbass on this forum. Sorry to the be that guy OP, but let's role play here a little bit. You'll be the salesman and i the stupid customer. I see your source-port on the display alongside the choco variants, prboom, dsda-doom and woof - then you see me showing clear signs of confusion -or maybe constipation, you find it hard to tell- while reading the item description for this new line of products. You sigh, put a fake smile on your lips, approach this turd-looking nutjob and ask "How could i help you, sir?" and with a puzzled Jesse Pinkman expression, i reply: "Will this fancy software mode make nuts run faster on my celeron D than woof does?" Fancy software modes needs fancy CPUs ;-)
|
|
Deleted
Deleted Member
Posts: 0
|
Post by Deleted on Apr 20, 2022 13:51:47 GMT -5
|
|
Deleted
Deleted Member
Posts: 0
|
Post by Deleted on Apr 21, 2022 20:43:07 GMT -5
I've always been impressed with the speed that you're able to knock stuff out using Delphi. I've used Lazarus/FPC for an application/GUI in the past and it blew me away.
|
|
Deleted
Deleted Member
Posts: 0
|
Post by Deleted on Apr 21, 2022 23:41:03 GMT -5
Much respect for pushing software rendering to do advanced things. I have already used this to play with RDVOX mod in the past, but I did not know that you managed to have so much projects in Delphi. You are programming machine and don't deserve harsh feedback some users above have given. However, the experience with RDVOX was not flawless back then, my problems are documented in this post: doomer.boards.net/post/29703/threadWill look at the newest version hopefully soon. Maybe that issue was fixed at last?
|
|
Lobo
Doomer
Posts: 594
|
Post by Lobo on Apr 22, 2022 0:18:51 GMT -5
Very impressive!
|
|
|
Post by jval on Apr 23, 2022 5:14:46 GMT -5
Tried it out for the first time since 2018-ish. Startup takes a VEEEEEEERY long time. It seems to stall for over 5 seconds on "DEH_Init", then around a second on something about parsing ACTORDEF lumps, then a function called something like "R_Init_Transparent8tables". After that's done, you get a grey screen for another 5 seconds until the main menu shows up. All in all, 15-20 seconds from double clicking doom32.exe to the main menu. This already disqualifies Delphi Doom from being a serious competitor, in my view at least. For comparison, ZDoom takes around 5 seconds, Doom Retro with its sexy fade-in animations takes 10, not counting the initial "launcher" both of those have. Indeed there is room for loading optimization, I couldn't realized it since you've mention it. Load times in my main dev system is was at 7-8 seconds (5 years old hardware). I've made some changes and I've managed to drop it below 4 seconds. So far, I've made some progress: The DEH_Init() loads all the game logic inside the GAMEDEF lump (a 26,000 lines DEHACKED lump). Now, it first checks the GAMEDEF lump and only loads it if it detects a modification compared to the internal game definitions. I did some speed optimizations in string manipulation that makes ACTORDEF parsing faster, still it is a work in progress and I hope for more speed-up in near future. The R_InitTransparent8tables() function pre-calculates all the LUTs the software renderer needs for fast color blending in 8 bit color mode. Now it utilizes multiple threads to finish the task giving a significant speed-up. Also I've made significant speed optimizations the PascalScript compiler initialization. Additional loading speed-up opportunities are under investigation in order to complete the overall effort. What king of hardware do you use to have 15-20 seconds loading time? I can make some tests if I can access a similar system. But let's keep going: I couldn't figure out how to turn off mouselook. You can turn down the Y axis sensitivity all the way down, but that completely disables the vertical axis, I don't want that, I want classic Doom mouse control. Once again a literal non-starter for me. The mouselook can be turned off from the Menu (Options|Advanced|Camera|Look Up/Down). I thought the default value was false, but probably I've missed it since in other branches (DelphiHeretic, DelphiHexen & DelphiStrife) defaults to true anyway. Fixed to the repository. Changing the resolution doesn't change the aspect ratio (changing to 1024x768 just stretches it over my whole 1080p screen). You can solve this by switching to "Exclusive Fullscreen" mode but ugh do we really have to do that in %current_year%. I'll try to make customizable pillarbox and letterbox effect, like FPCDoom, but I can't be 100% positive for appropriate results since in OpenGL mode seems tricky. The doom bitmap font is weirdly horizontally stretched in widescreen mode (1920x1080). Thanks for mentioning, fixed to the repository. And lastly why the hell is the exe called doom32.exe anyway? What kind of name is that? I thought the port's called DelphiDoom?? Are we doing Doom Legacy's "doom3.exe" thing again?? Is it really a problem? Renaming the exe will not affect gameplay and it can be easily done by the user. The name was kept as my first big goal was 32 bit color in software rendering mode. Questionable choices: ENDOOM is on by default, crosshairs are on by default, vulgar exit messages are on by default. I don't really mind this, but I think most people will turn the first two off right away, and some might dislike the third one. And I haven't even started playing yet. Don't misunderstand me, I'm not trying to get you down or something but... I just don't like this port at all in its current state. Crosshairs and vulgar messages will not be on by default on next version. Especially the vulgar messages will be hidden in just a console command so enable them will need more effort that just picking a menu option. I still have second thoughts for the ENDOOM screen, since DelphiDoom displays it appropriately in the main drawing canvas without using an additional text-based console as other ports. I've always been impressed with the speed that you're able to knock stuff out using Delphi. I've used Lazarus/FPC for an application/GUI in the past and it blew me away. Yeap, the right tools make all the difference! Much respect for pushing software rendering to do advanced things. I have already used this to play with RDVOX mod in the past, but I did not know that you managed to have so much projects in Delphi. You are programming machine Thanks! and don't deserve harsh feedback some users above have given. I 'd call it constructive criticism Besides, harsh or not, any feedback is welcome. Praise and harshness have the same effect: They both give you the motive to make things better! However, the experience with RDVOX was not flawless back then, my problems are documented in this post: doomer.boards.net/post/29703/threadWill look at the newest version hopefully soon. Maybe that issue was fixed at last? The latest version has been tested with latest RDDVOX mod and works fine (some warning messages may appear). Did you use the DelphiDoom version? The ZDoom version (RDVOX) is not compatible with DelphiDoom. Thanks!
|
|
xeepeep
Banned
Forever
Posts: 2,338
|
Post by xeepeep on Apr 23, 2022 6:18:08 GMT -5
So far, I've made some progress: So you managed to bring the startup time 50%? That's badass! My hardware is a reasonably recent laptop, the processor is AMD Ryzen 5 3500U, integrated graphics, 8 gb ram. Not a powerhouse by any means, but probably not the weakest hardware someone will be running this on. The mouselook can be turned off Yes but I can't find a way to enable mouse movement like in vanilla Doom. You know, when moving the mouse up moves the player forward. Is [doom32.exe] really a problem? Of course not, just a nitpick. I'll try to make customizable pillarbox and letterbox effect, like FPCDoom, but I can't be 100% positive for appropriate results since in OpenGL mode seems tricky. I didn't notice this in FPCDoom That's cool but I'd seriously prefer it if I didn't have to calculate percentages. Just, set up 640x480 or 1024x768 and voilà, the screen is automatically pillarboxed to 4:3.
|
|
|
Post by jval on Apr 23, 2022 7:23:57 GMT -5
My hardware is a reasonably recent laptop, the processor is AMD Ryzen 5 3500U, integrated graphics, 8 gb ram. Not a powerhouse by any means, but probably not the weakest hardware someone will be running this on. Pretty much the same horsepower with my i7-7700HQ, both 4C/8T, slightly better multitasking for AMD, slightly better single thread for the i7. I'm running on SSD, probably caching (or let me guess, HDD?) makes some difference here. I doubt if RAM of GPU makes any good to loading times. I'll try from external HDD drive with reboot to eliminate possible cache hits to see the difference. Yes but I can't find a way to enable mouse movement like in vanilla Doom. You know, when moving the mouse up moves the player forward. Oooh, the mouse move just as DoomXS. No problem, it will be added as an option to the Options|Controls menu. Just, set up 640x480 or 1024x768 and voilà, the screen is automatically pillarboxed to 4:3. I'll check it.
|
|
|
Post by jval on Apr 29, 2022 7:23:53 GMT -5
Updated to version 2.0.7.734. Downloads: github.com/jval1972/DelphiDoom/releases/tag/2.0.7.734What' new: - Faster startup - now it loads about twice as faster than previous versions
- Improved ZDoom compatibility in VOXEL declaration (VOXELDEF lump)
- It displays correctly the quit messages depending on game, vulgar messages will be displayed only if the vulgarquitmessages console variable is set to true
- Proper menu stretch in widescreen mode
- Added option to use mouse for player movement (back and forward). It can be accessed from the Menu ("Options/Contols/Y Mouse axis")
- Look up/down is disabled by default in Doom branch
- Crosshairs are disabled by default
- etc...
|
|
xeepeep
Banned
Forever
Posts: 2,338
|
Post by xeepeep on Apr 29, 2022 10:42:05 GMT -5
Can confirm the startup time is down to 7ish seconds, a roughly 60% reduction compared to the previous build. Great job!
|
|
|
Post by dr_st on Apr 30, 2022 22:51:17 GMT -5
Can confirm the startup time is down to 7ish seconds, a roughly 60% reduction compared to the previous build. Great job! I concur. It's amazing how many issues can be solved quickly, if someone just notices them. That's what user feedback is for.
|
|
Deleted
Deleted Member
Posts: 0
|
Post by Deleted on May 2, 2022 3:47:28 GMT -5
Tried this port. Texture automap rules, I always found the original one confusing.
And my usual disappointment with this or that port: I don't like the ouch face fix, or more specifically the lack of option to revert it. I use PrBoom-Plus for all my dooming because it has an option to toggle back the "buggy" behavior Doom released with. I just can't stand playing with the fix applied.
|
|
|
Post by jval on May 2, 2022 6:39:38 GMT -5
Tried this port. Texture automap rules, I always found the original one confusing. And my usual disappointment with this or that port: I don't like the ouch face fix, or more specifically the lack of option to revert it. I use PrBoom-Plus for all my dooming because it has an option to toggle back the "buggy" behavior Doom released with. I just can't stand playing with the fix applied. The "buggy" behavior is preserved inside the code and it is activated only when DelphiDoom plays a 1.9 vanilla demo. I can make an option/flag in compatibility menu to preserve the buggy behavior. FPCDoom unconditionally fixes the bug. DoomXS is preserving the buggy behavior.
|
|
Deleted
Deleted Member
Posts: 0
|
Post by Deleted on May 16, 2022 9:28:42 GMT -5
jval, in the release version of Irkalla ( www.doomworld.com/idgames/levels/doom2/Ports/g-i/irkalla ), map07 on HMP and above the teleport (sector 881) doesn't lower itself when pressing a tiny switch (linedef 3386, action 71 S1 Floor Lower to 8 Above Highest Floor), because those difficulties have a chaingunner in that sector. The sound of platform lowering can be heard, but platform doesn't move. Prboom-plus works ok. Version 2.0.7.734, software mode (Doom32.exe). ITYTD also works ok in Delphi-Doom as well. Irkalla's target compatibility is Boom (-complevel 9 in Prboom-plus). Maps map01, map02 and map10 of Irkalla worked fine, so I expected that Delphi Doom can play Boom-compatible wads, hence why I am posting this. Or could it be option-dependent or else? P.S. I verified these without RDDVOX, using only base game, although originally discovered with it. RDDVOX doesn't impact the bug one bit: the bug happens on UV with or without RDDVOX, and it doesn't happen on ITYTD (since no monster in that sector) with or without RDDVOX. Just has something to do with sector with ceiling equal to the floor hosting a monster apparently, that gets in the way of sector lowering in Delphi-Doom but not in Prboom-plus.
|
|
Deleted
Deleted Member
Posts: 0
|
Post by Deleted on May 17, 2022 22:59:07 GMT -5
jval, besides the bug report above, I have a question on "-file" parameter. It appears that: Doom32 -file <non-wad-file> is not identical to Doom32 <non-wad-file> as evidenced by Doom32_stderr.txt and Doom32_stdout.txt files mentioning that "non-wad-file" is not a wad file, then about "trying to add twice", and also gameplay issues encountered - in the former case. Encountered on RDDVOX, see discussion here: doomer.boards.net/post/42118/thread So what are we to use? Is this a bug, or are we doing things wrong when using "-file"? Should "-file" be used at all? Confused, because "-file" is the original way supported by every port to load stuff, but omitting it only works in some ports and I thought it was just because people are either forget to put "-file" or drag wads/mods onto executable.
|
|
|
Post by jval on May 18, 2022 10:23:31 GMT -5
The -file is only for wad files or single lump entries. If you load a single zip/pk3 file you can optionally use the -pakfile. Files with extension "zip", "pk3" and "wad" are automatically detected from the command line, so you don't have to specify neither -file nor -pakfile.
|
|
|
Post by redneckerz on Jun 20, 2022 14:34:58 GMT -5
Going to put it out here: jval is the most underrated and undervalued developer in the entire Doom community.*
*Also one of the nicest.
|
|
Deleted
Deleted Member
Posts: 0
|
Post by Deleted on Jun 22, 2022 9:45:13 GMT -5
Going to put it out here: jval is the most underrated and undervalued developer in the entire Doom community.**Also one of the nicest.
|
|
|
Post by redneckerz on Jun 22, 2022 12:38:00 GMT -5
Going to put it out here: jval is the most underrated and undervalued developer in the entire Doom community.**Also one of the nicest. Don't worry boo you come close second.
|
|
Deleted
Deleted Member
Posts: 0
|
Post by Deleted on Jun 22, 2022 14:01:50 GMT -5
I was just making it because that kinda thing should be left to individuals. There are so many talented people doing things that I don't think any one person could take that title.
|
|