Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
fabian

Crispy Doom 6.0 (Update: Mar 31, 2023)

Recommended Posts

13 hours ago, Zodomaniac said:

Well, Crispy is announced as limit-removing port, so shouldn't INTERCEPTS limit be removed?

 

Crispy is also announced as demo compatible and network compatible to Chocolate Doom.

 

10 hours ago, galileo31dos01 said:

Because it's said in the changes in 5.1 "The INTERCEPTS limit has been removed.", unless it got back in later releases or I misinterpreted what that meant, could you clear it up please?

 

Well, the limit is in fact removed, i.e. the engine won't crash anymore when the limit is vastly exceeded. *However, the effects of exceeding the limits are still emulated.*

 

You even gave the reason for this yourself by providing a demo which shows where the limit is exceeded. This demo will play exactly like this in Chocolate Doom and even Vanilla.

 

Please don't forget that Crispy still plays in #teamchocolate. ;-)

Share this post


Link to post
5 hours ago, fabian said:

 

Crispy is also announced as demo compatible and network compatible to Chocolate Doom.

 

 

Well, the limit is in fact removed, i.e. the engine won't crash anymore when the limit is vastly exceeded. *However, the effects of exceeding the limits are still emulated.*

 

You even gave the reason for this yourself by providing a demo which shows where the limit is exceeded. This demo will play exactly like this in Chocolate Doom and even Vanilla.

 

Please don't forget that Crispy still plays in #teamchocolate. ;-)

@fabian Do you mean that removing other limits doesn't break demo and netgame compatibility with Choco but removing INTERCEPTS limit would break the compatibility? Could you explain why?

For instance, Choco would not even run @galileo31dos01's map in the first place but Crispy does, so why shouldn't Crispy drop the emulation of INTERCEPTS overflow to run the map smoothly if it does launch?

Edited by Zodomaniac

Share this post


Link to post

In Chocolate Doom, the original INTERCEPTS limit of 128 has been raised to 189 to allow for an overrun emulation of the first 61 additional intercepts:

https://github.com/chocolate-doom/chocolate-doom/blob/5329fb5d75971138b20abf940ed63635bd2861e0/src/doom/p_local.h#L152

 

If you exceed the limit even past these 189 intercepts, Choco will crash but Crispy will not. If you remain within the raised INTERCEPTS limit of 189, both ports are expected to produce the same results. That's why I can remove the hard limit but not the emulation of the overruns of the original limit.

Share this post


Link to post
18 hours ago, Zodomaniac said:

@fabian Do you mean that other limits removed in Crispy don't affect network compatibility with Choco? 

 

Yes, of course! Removing e.g. the DRAWSEGS and the NUMSPRITES limits won't have any effect on compatibility, also savegame size, MIDI lump size, number of lumps in a WAD, etc. There are some other limits which would cause Choco to crash, e.g. VISPLANES, so it's hard to define "compatibility" here. And yet some other limits do not cause immediate crash, but manipulate the game state in a way that demo-compatible ports are expected to emulate, e.g. SPECHITS or the INTECEPTS limit.

Share this post


Link to post

In Crispy 5.6.2 Heretic's BLOCKMAP limit has been removed.

So I decided to upload the Crispy non-Doom 5.6.2 games with setup tool, midiproc and stable DLLs with fluidsynth soundfont supported and bundled. To play with the latter, you should set the music option to MIDI/MP3/OGG/FLAC and launch the respective BAT-file.

 

crispy-nondoom-5.6.2.zip

Edited by Zodomaniac : Updated the zip archive

Share this post


Link to post
22 hours ago, Zodomaniac said:

@fabian btw, is it possible to remove the INTERCEPTS overflow emulation for non-demo single player and make it optional e.g. in Crispness-Physical?

Sure that's possible, but not going to happen. I don't want to provide a different experience between single player games and demo recordings (apart from the four game-physics changing features, that is). What if you never encounter the overflow when testing or practicing the map, but then it suddenly occurs when recording the demo?

Share this post


Link to post

I'm confused on the update front. About three days ago from this writing, Crispy Doom received it's most recent commit "Updated README.md for 5.6.3 release". However, AFAIK there is no 5.6.3 release. Fabian can you explain what's going on?

Share this post


Link to post

@Danfun64 I agree that's confusing. The reason is that @Zodomaniac is so kind to maintain a changelog on the project page, so that it is easier for me to push out an actual release. However, we don't sometimes agree on the right moment for a new release and then he already entered a release date when I thought it wasn't ready yet.

Share this post


Link to post

@Danfun64 Sorry for the confusion, I proposed the release in GitHub comments and got a reply from @fabian about supporting Sigil v1.21 first, so when it was implemented, I thought it was changelog update (and release) time, but another issue arose today. Hopefully when it's resolved, nothing hinders the 5.6.3 release!

Edited by Zodomaniac

Share this post


Link to post
On 9/23/2019 at 11:48 AM, fabian said:

Sure that's possible, but not going to happen. I don't want to provide a different experience between single player games and demo recordings (apart from the four game-physics changing features, that is). What if you never encounter the overflow when testing or practicing the map, but then it suddenly occurs when recording the demo?

In less than a week I've seen two fresh limit-removing maps that suffered from INTERCEPTS overflow, so I'd ask you not to be so strict to mappers and introduce the single-item Crispness menu entry "Dynamic limits" (INTERCEPTS, SPECHITS, REJECT) between Physical and Demos sections, with values "Crispy" for current state and "Boomed" for removal of overflow emulation (applied to non-multiplayer only, i.e. to singleplayer and SP demos).

Share this post


Link to post

It isn't a good idea to lump Intercepts, Spechits and Reject overflow emulation together. Turning off Spechits and Reject overflow emulation only causes desyncs without gaining anything. Leaving Intercepts overflow emulation on only causes desyncs and problems, with the exception of one-in-a-million situations (actually I only know of one, and even then it isn't emulated perfectly).

 

For prb+ I always recommend leaving Spechits and Reject overflow emulation on and turning Intercepts overflow emulation off, on the basis that it is better to record something (or, if not recording, to be able to play a map) than to have it unconditionally trashed.

 

BTW, if a map is proving unexpectedly prone to Intercepts overflows, check your linedef 0. It is better for it to be short and out of the way somewhere. more

Edited by Grazza : typo

Share this post


Link to post

@Grazza thank you for clarifying, then it's even easier: the menu item to be "INTERCEPTS limit", Crispy or Boomed i.e. blown away ;), and dimmed like Physical section in netgames.

Cute foxies on your userpic btw :)

Share this post


Link to post

First, the chances of hitting the INTERCEPTS limit can be controlled by map design. As @Grazza already pointed out, splitting an overly long linedef 0 into smaller chunks might already cure the worst cases. IMHO, hitting the INTERCEPTS limit is not a bug in the engine, the engine is doint the right thing by emulating exactly what would have happened in Vanilla Doom. "Limit removing" does not mean "mapping without any restrictions" in this case.

 

Second, I don't want different game mechanics under the hood depending on the current game being a network game or a demo recording or not. If there is a bug in the map or in the interaction of the map and the engine, it should become apparent during play testing. For the same reason, I don't allow for e.g. untagged line specials to apply to the backsector - even in single player games. I know that e.g. PrBoom+ does it differently, but I don't want it that way. Sorry.

Share this post


Link to post
On 10/1/2019 at 1:15 PM, fabian said:

First, the chances of hitting the INTERCEPTS limit can be controlled by map design. As @Grazza already pointed out, splitting an overly long linedef 0 into smaller chunks might already cure the worst cases. IMHO, hitting the INTERCEPTS limit is not a bug in the engine, the engine is doint the right thing by emulating exactly what would have happened in Vanilla Doom. "Limit removing" does not mean "mapping without any restrictions" in this case.

 

Second, I don't want different game mechanics under the hood depending on the current game being a network game or a demo recording or not. If there is a bug in the map or in the interaction of the map and the engine, it should become apparent during play testing. For the same reason, I don't allow for e.g. untagged line specials to apply to the backsector - even in single player games. I know that e.g. PrBoom+ does it differently, but I don't want it that way. Sorry.

 

So I forked Crispy and added a commit by @drfrag removing the INTERCEPTS overflow emulation. After 5.6.3 release I will post the modified executable here. Another purpose of this fork is to try Y-shearing.

 

EDIT: INTERCEPTS limit evasion is now controlled with a config variable, disabled by default, and disabled in netgames with Crispness menu item shadowing.

Edited by Zodomaniac : INTERCEPTS limit evasion is now controlled with a config variable

Share this post


Link to post

Update October 04, 2019: Crispy Doom 5.6.3 is released (a bit later, actually, due to auto-builder issues)!


Crispy Doom is a friendly fork of Chocolate Doom that provides a higher display resolution, removes the static limits of the Doom engine and offers further optional visual, tactical and physical enhancements while remaining entirely config file, savegame, netplay and demo compatible with the original.

 

Crispy Doom 5.6.3 has been released on October 04, 2019. This release addresses the community feedback received after 5.6.2 release and brings support for the updated Episode 5: Sigil v1.2/v1.21.

 

Please visit the Crispy Doom homepage for more information:
https://github.com/fabiangreffrath/crispy-doom/releases

Binaries for Windows (x86) are available here:
https://github.com/fabiangreffrath/crispy-doom/releases/download/crispy-doom-5.6.3/crispy-doom-5.6.3-win32.zip

Have a lot of fun!

- Fabian

Share this post


Link to post

As I promised in the previous post, here is a piece of good news for authors of limit-removing maps: so-called  So Doom 5.6.3 (now with its own Setup tool, midiproc utility, SDL2 DLLs and fluidsynth soundfont).


Compared to Crispy Doom 5.6.3 it has INTERCEPTS limit evasion (courtesy @drfrag) controlled by config variable in single player (including SP demos), disabled by default, shadowed and disabled in netgames.

After Crispy Doom 5.6.3, @fabiancompletely overhauled and made flipped levels feature demo-compatible and hot-swappable as well as flipped weapons,

which I took the advantage of, introducing key bindings and config variables for flipping levels and weapons.

 

Additionally, So Doom has merged all the following post-release changes by @fabian:

 

Improvements

  • Some clipping optimizations taken from @Julia Nechaevskaya's Russian Doom (and there from MBF respectively) have been implemented.
  • Savegame name is automatically overridden on saving if it already starts with a map identifier, proposed by zebzorb.
  •  Status bar optimizations, including numbers to be only redrawn if necessary, on @Julia Nechaevskaya's suggestion.
  •  In automap overlay mode the automap is now drawn on top of everything as @Julia Nechaevskaya suggested, not beneath the bezel for decreased screen sizes.

Bug Fixes

 

sodoomy.png

sodoom_setup.png

fliplw.gif

Edited by Zodomaniac : Inserted a link to the So Doom topic. I would even remove this post but I cannot find how, lol)

Share this post


Link to post

Looking over at your GitHub repository, I'm not that impressed. A large number of the improvements you mentioned are taken directly from Crispy Doom post 5.6.3 . Your intercepts evasion option and custom icon and names appear to be the only thing truly unique about your port compared to the latest trunk build of Crispy Doom.

Share this post


Link to post

@Danfun64, I don't consider So Doom a separate port, that's why I posted it here and acknowledged all @fabian's and other people's work.

P.S. Do you know the Doomworld nickname of mfrancis95 from Github? If he maintained his Crispy Boom, I would suggest this feature there.

Share this post


Link to post

In this version along with 5.6.1 and 5.6.2 I still have that weird pause when I complete a level. I have only played Ultimate Doom and I don't know for sure if it happens with other wads, but it seems that when I hit the exit switch or linedef that ends the level, the game pauses on that frame where I hit the switch or crossed the linedef then the melting effect happens and the levelstats screen appears. 

Share this post


Link to post
On 10/8/2019 at 8:51 AM, Danfun64 said:

Looking over at your GitHub repository, I'm not that impressed. A large number of the improvements you mentioned are taken directly from Crispy Doom post 5.6.3 . Your intercepts evasion option and custom icon and names appear to be the only thing truly unique about your port compared to the latest trunk build of Crispy Doom.

 

Who cares? What's your point?

Share this post


Link to post
On 10/11/2019 at 11:15 AM, Linguica said:

 

Who cares? What's your point?

I admit that I was too harsh when it came out. Was "Additionally, So Doom has merged all the following post-release changes by @fabian:" there when the post was first there or after I made my comment?

In any case, it's a solid effort. It helps that the ability to turn off the Intercept limit was something that PrBoom-Plus could do as well. 

Edited by Danfun64

Share this post


Link to post
8 hours ago, Danfun64 said:

Was "Additionally, So Doom has merged all the following post-release changes by @fabian:" there when the post was first there or after I made my comment?

It was there in the first place. I initially acknowledged all the changes @fabian made since 5.6.3 to have been merged into So Doom.

More changes have been made, and more to come, so I decided to create a separate topic despite I originally didn't mean to.

Share this post


Link to post

Regarding this bug with IDCLEV in Vanilla\Chocolate:

 

Quote

If the second digit of the level number warped to is 1 (and if typed quickly in succession, even if the first digit is 1), the player will switch to the fist upon entering the new level.

 

I don't know if this was ever formally fixed in Crispy, but it still happens when warping to maps 10 and 12-19. It only seems to be fixed in maps where 1 is the second digit (01, 11, 21, and 31). I don't know if there's an intuitive and non-intrusive way to fix this, but I figured I'd post nonetheless. (It seems to be fixed in PRBoom-Plus.)

Edited by maxmanium

Share this post


Link to post

Oh, indeed, the cheat code only eats up the second digit. Not sure if I can find a solution to eat the first digit as well, we'll see...

Share this post


Link to post

We might have a problem with "Smooth diminishing lightning" chief, it looks the same way it does when it's turned off in today's devbuild on my end.

 

This is turned ON:

 

lGMNpfa.png

 

I'd attach a screenshot with it turned off but... it looks the same.

Edited by seed

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×