Jump to content

dsda-doom source port [v0.24.3]


Recommended Posts

8 hours ago, Andromeda said:

Seems to be working fine for me on 0.8.0, at least the latest version of the wad on /idgames (1.1.6).

Just updated to 0.8.1 and everything seems fine again.

Share this post


Link to post

Silly report I know but switching weapons to Linguica's static cannon here now gives me a Signal 11 error all of a sudden. Anyone have an idea why that is? It was working in previous versions of this port; I suspect it's the weird ammo type required for the weapon to work.
 

 

Share this post


Link to post
3 hours ago, Xyzzy01 said:

Silly report I know but switching weapons to Linguica's static cannon here now gives me a Signal 11 error all of a sudden. Anyone have an idea why that is? It was working in previous versions of this port; I suspect it's the weird ammo type required for the weapon to work.

Since Linguica's trick there involves an exploit in the way memory is accessed in doom, it's specific to the way memory is organized. Evidently something varies with dsda-doom and causes this to throw an error instead.

Share this post


Link to post

Ah, that makes sense. Thanks for the response, kraflab! I guess I'll see what new value for ammo type corresponds to weapon bob, unless you know that offhand 😄

Share this post


Link to post

Updated to v0.8.2 (see op for download)

 

New stuff:

  • Added options menu (in general).
  • Added "strict mode" option, defaults to on. When on, tas settings are disabled while recording, unless you pass in the "-tas" parameter (always sr50, sr50 on turns, and game speed). This is a safeguard against accidentally leaving one of these settings on.
  • Added "cycle ghost colors" option, defaults to off.

Share this post


Link to post

Updated to v0.8.3 (see op for download)

 

New stuff:

  • Smart Totals renamed to Max Totals and "fixed" to show kill constraint for max.

The old smart totals basically tracked "of the monsters placed on the map at the start, how many have been killed at least once?"

That question isn't really relevant for any speedrunning context (some considered smart totals bugged - I don't really know the original intent).

The new total tracks "of the monsters that are required for max, how many are currently dead?"

 

Max Totals on the advanced hud:

If you have 10 monsters on a map, you start at 0/10.

If you kill 3, you have 3/10.

If an archvile revives one, you have 2/10.

If an icon of sin spawns one, you still have 2/10.

If an enemy spawns a new monster that is counted, you have 3/11.

 

The setting is in setup -> status bar / hud

 

Please let me know if there are any issues.

Share this post


Link to post

Updated to v0.8.4 (see op for download)

 

Small improvements related to demos / restarts.

 

New stuff:

  • With demo overwrite off and the recording name matches an existing file, it picks the first unused name demo-01234.lmp.

  • Improved demo file cleanup (fix restart limit).

Share this post


Link to post

Just made the switch over today. Realized vertical sync was the reason I was experiencing performance issues. Duh. Seems the feature is broken in PrBoom+ 2.5.1.5 onward. Strange. Is it cool to submit demos using the most recent DSDA-Doom builds?

Share this post


Link to post
27 minutes ago, CleaverHeaver said:

Just made the switch over today. Realized vertical sync was the reason I was experiencing performance issues. Duh. Seems the feature is broken in PrBoom+ 2.5.1.5 onward. Strange. Is it cool to submit demos using the most recent DSDA-Doom builds?

Yep, feel free to submit.

Share this post


Link to post

Would it be possible for this port to implement -longtics for cl9/11? It would be nice to have for more casual recording.

Share this post


Link to post

No, I don't think so. That would go against the philosophy of the port. It's a shame that longtics were introduced to cl2-4 in the first place - I won't be expanding that :^)

Share this post


Link to post
On 11/13/2020 at 4:39 PM, GarrettChan said:

- It seems now glboom-plus.exe also reads prboom-plus.cfg instead of glboom-plus.cfg. At least I put my config file to overwrite only glboom-plus.cfg, it doesn't work.

I was just looking into this and found that the separate config files is, for whatever reason, something that's set when building the project with Visual Studio. If you want separate configs for the two exes but aren't building with MSVC, you can find this section in m_misc.c:

#if ((defined GL_DOOM) && (defined _MSC_VER))
#define BOOM_CFG "glboom-plus.cfg"
#else
#define BOOM_CFG "prboom-plus.cfg"

and remove the _MSC_VER part, i.e.

#if (defined GL_DOOM)
#define BOOM_CFG "glboom-plus.cfg"
#else
#define BOOM_CFG "prboom-plus.cfg"

 

Share this post


Link to post
On 12/10/2020 at 12:56 PM, CleaverHeaver said:

Just made the switch over today. Realized vertical sync was the reason I was experiencing performance issues. Duh. Seems the feature is broken in PrBoom+ 2.5.1.5 onward. Strange. Is it cool to submit demos using the most recent DSDA-Doom builds?

Probably you should turn vsync off all the time. I switched to 2.5.1.5 and it somehow turned on, and it bugged me so much until I realized it's on...

 

On 12/6/2020 at 2:56 PM, kraflab said:

New stuff:

  • Smart Totals renamed to Max Totals and "fixed" to show kill constraint for max.

Wow, it's nice to have this. Thanks a lot for the effort. I can hope for ammo display for adv hud in the future as I originally thought these are hard to change.

 

56 minutes ago, Shepardus said:

I was just looking into this and found that the separate config files is, for whatever reason, something that's set when building the project with Visual Studio. If you want separate configs for the two exes but aren't building with MSVC, you can find this section in m_misc.c:

Thanks. After I said that... I kind of feel dumb for saying that right now as it basically has no practical point to separate them I guess.

Share this post


Link to post
7 hours ago, GarrettChan said:

Probably you should turn vsync off all the time. I switched to 2.5.1.5 and it somehow turned on, and it bugged me so much until I realized it's on...

I actually made the switch to 35fps the other day. Feels good man.

Share this post


Link to post

Sorry for the pain in the arse comment, but can someone help with compiling this for Linux?

The INSTALL guide says to run configure, but this doesn't exist in the folder where it says it does (or anywhere in the files) and I'm a bit stuck for where to go without that really. Cheers.

Share this post


Link to post

I'm not sure the install guide is up to date for prboom+ upstream. I haven't compiled in linux in a while, but it uses cmake. It should be as easy as running cmake and then make.

Share this post


Link to post
3 hours ago, kraflab said:

I'm not sure the install guide is up to date for prboom+ upstream. I haven't compiled in linux in a while, but it uses cmake. It should be as easy as running cmake and then make.

That worked perfectly, thanks :D

I can't seem to find an answer to this, but is there a way to make the demo not overwrite itself each new attempt (like how Crispy appends -00001.lmp to the end and counts up)?

Overall though, this runs better than prboom for me, and the new features are amazing! :D

Share this post


Link to post
4 minutes ago, MxCraven said:

I can't seem to find an answer to this, but is there a way to make the demo not overwrite itself each new attempt (like how Crispy appends -00001.lmp to the end and counts up)?

Somewhere in the general options in the "demos" section there's an "overwrite existing" option. Disable that.

Share this post


Link to post
4 minutes ago, Shepardus said:

Somewhere in the general options in the "demos" section there's an "overwrite existing" option. Disable that.

Ah! Missed it completely, thanks a tonne :D

Share this post


Link to post
39 minutes ago, MxCraven said:

Overall though, this runs better than prboom for me, and the new features are amazing! :D

Thanks, glad it's working well for you :^)

Share this post


Link to post

The features in this port are amazing, and pretty much fix all the reasons I play Mario Kart over Doom when I want to do time trials (because I like numbers :P), but I've just noticed that the ghosts don't reload when restarting a demo with the "restart level" button. They continue to play (as I found mine at the end of the level).

Share this post


Link to post

The ghosts are a useful feature even for non-speedrunners like myself since it opens the portal to a lot of new, arcade based gameplay.

Having said that, chipping some more support and appreciation for this. TAS and speedrunning in Doom is a wildly different branch on ''Playing Doom'' but equally impressive, even more so because of the abundance of specialized tools that exist for this.

 

DSDA-Doom is easily one of most impressive projects coming out in recent times regarding that. Brilliant port, rock solid (Because PrBoom/GLBoom) and a speedrunner's dream port.  Awesome stuff, @kraflab!

Share this post


Link to post
3 hours ago, MxCraven said:

The features in this port are amazing, and pretty much fix all the reasons I play Mario Kart over Doom when I want to do time trials (because I like numbers :P), but I've just noticed that the ghosts don't reload when restarting a demo with the "restart level" button. They continue to play (as I found mine at the end of the level).

Thanks for the report - I'll add that to my todo list.

Share this post


Link to post
48 minutes ago, Redneckerz said:

The ghosts are a useful feature even for non-speedrunners like myself since it opens the portal to a lot of new, arcade based gameplay.

Having said that, chipping some more support and appreciation for this. TAS and speedrunning in Doom is a wildly different branch on ''Playing Doom'' but equally impressive, even more so because of the abundance of specialized tools that exist for this.

 

DSDA-Doom is easily one of most impressive projects coming out in recent times regarding that. Brilliant port, rock solid (Because PrBoom/GLBoom) and a speedrunner's dream port.  Awesome stuff, @kraflab!

Thanks!

Share this post


Link to post
45 minutes ago, kraflab said:

Thanks for the report - I'll add that to my todo list.

In a couple of updates time, once I'm certain my compilation method is correct and definitely works, I will try and start providing Linux binary builds if that's something that's possible. It might be a "Only supports Ubuntu officially" thing, since different versions of libraries and all that, but if I can make it slightly easier for some people to use this port to make it a lot easier for people to upload demos with the proper formatting then that's probably worth a shot :P

I'll look into testing the current method I'm using (and list of packages needed) so I can update the INSTALL file.

Share this post


Link to post
20 hours ago, MxCraven said:

I'll look into testing the current method I'm using (and list of packages needed) so I can update the INSTALL file.

If you get a chance to do that, please bring the update to the prboom+ repo here: https://github.com/coelckers/prboom-plus
Since the install procedure is identical, we can fix the info there and then I will merge the update into dsda-doom as well.

Share this post


Link to post
1 hour ago, kraflab said:

If you get a chance to do that, please bring the update to the prboom+ repo here: https://github.com/coelckers/prboom-plus
Since the install procedure is identical, we can fix the info there and then I will merge the update into dsda-doom as well.

I have created the pull request on the main branch here: https://github.com/coelckers/prboom-plus/pull/151

I have also put the files made while testing into a ZIP with install instructions (attached). As I kind of suspected, the binaries only run on Debian based systems (won't run on my Void, but ran fine in the VM). Hope this helps someone though. What to do with the files is in the README.txt in the zip.

dsda-doom-linux-test.zip

Share this post


Link to post

Updated to v0.9.0 (see op for download)

 

With this update, you can now rewind the game.

 

New stuff:

  • While playing the game, there is a buffer automatically filling up with key frames, storing the recent history of the game engine. You can configure how many frames the buffer stores and how often it stores the key frames in the settings. You can rewind during regular gameplay, while watching a demo, and while recording a (tas) demo.
  • Check out the key binding menu for the rewind key, and for keys to store and restore a "quick key frame" manually.

One of the things I had to change here was the way the port writes demo files (since we need to be able to "unwrite" tics) - please let me know if you experience any odd behaviour while recording.

 

Known Issues

- The "move to next map" key breaks sometimes after rewinding while watching a demo (it does nothing when pressed). I'll fix that in a future update. It doesn't lead to any desyncing as far as I can tell - just something to keep in mind. (fixed in 0.9.1)

- Anything that doesn't work with save / load logic also won't work here - notably sector friction getting lost in boom maps. (fixed in 0.9.1)

- Rewind + import ghosts = crash (fixed in 0.9.1)

- Status bar doesn't immediately update when rewinding (fixed in 0.9.1).

 

I will expand on this feature in future updates (e.g., adding a "start from key frame" option for tasing with -skipsec to avoid the startup delay on long demos).

Edited by kraflab

Share this post


Link to post

Sods law, as soon as you upload binaries the thing gets an update :P Anyway, I've had the other version tested by a friend who never had Doom installed on their laptop (running Xubuntu) so we're good to go. They just had to install the dependencies listed in the INSTALL file (it also spits out what's missing one by one every time you try to run it if something is missing)

0.9.0 Ubuntu build!

dsda-doom-ubuntu-090.zip

Share this post


Link to post
Guest
This topic is now closed to further replies.
×
×
  • Create New...