Feature #1471

Feature #1648: Complete vanilla DOOM emulation

Standard definitions should conform to vanilla

Added by vermil over 15 years ago. Updated over 4 years ago.

Vanilla emulation
Target version:
Start date:
% Done:




Update the deds that come with Dday...

There is no need for the "rocket explosion state hack" (the "explode0" state) in the Jdoom thing def's any more as Dday can have more than one particle def attached to a state these days.

Also, what purpose do the additional things "SMALL_WHITE_LIGHT" and "TEMPSOUNDORIGIN" serve?

Similarly the Heretic thing def's include some extra states for the hanging skulls that were apparently added there to allow model authors who made a model version of them to animate them if they wished to. These states have never been used and surely the model author can define the extra states themselves if they wish.

There are also additional states for D'sparil's walking animation apparently there for model authors.

Carrying on from that, why do the original Dday deds include a handful of visual defs like glows for Doom's health vials, sky glows for Doom1 etc, but don't go all the way to add similar effects to other things and game in the engine?

Labels: Game Objects

Related issues

Related to Bug #1593: [Doom] Excess state in rocket explosionNew2013-10-18

Related to Feature #1601: Package managementIn Progress2014-04-18

Related to Feature #1749: Built-in effects should come in resource packsNew2014-04-16


#1 Updated by danij over 15 years ago

I agree that some of these additional states should now be removed since we now have newer features within the engine that make these changes redundant (such as multiple generators per state and world-time animation of models). Furthermore, they also conflict with some DeHackED patches.

As for the default DEDs including a handful of additional effects; they are there purely because we (the devs) think they look good and give the user an idea of what is potentially possible for mod makers. Including a comprehensive set of effect definitions with Doomsday installs is outside of the project's goals and this sort of thing is better left to other projects, such as the jDoom Resource Pack.

#2 Updated by vermil over 15 years ago

To be honest, with additional effects, I think the default Dday setup should have either none or go all the way so to speak.

I have to say, I think that GZdoom actually has the right idea with this. The engine is by default set up with no effects, but it comes with some optional extra files that add effects such as dynamic lights to everything. This also has the added benefit that mods that change the graphics of original things won't potentially look odd in Dday by default (i.e. what if there is a mod out there that changes the Doom health vials to something that isn't blue, suddenly the light def included in Dday's default set up looks out of place in game).

What is there stopping Dday from having no effects in the deds it loads by default, but coming with a couple of extra optional deds, which are set up and launch able as add-on's in snowberry (which would also allow Dday to ship with an example of a box file), that do the works, so to speak?

#3 Updated by vermil over 15 years ago

To follow up on my own comment :p

I'm obviously not talking about things like models, and hi-res textures etc, but dynamic/bias lights, particles, fog, sky glows etc.

#4 Updated by danij over 15 years ago

Making the additional effect DED optional would still not fix the issue you outlined.

That issue is one that affects the whole engine and every graphic/map/audio/etc resource it uses and is something we've been thinking about for a long time now. We have several ideas on how to address this but before work could begin there were numerous related issues to address. The new features to handle this will begin to appear in 1.9.0-beta7

#5 Updated by vermil over 15 years ago

How so?

Currently, the model packs, music packs, hi-res texture packs are all completely separate entities from the engine that the user must enable themselves and can then disable them if they wish to at will (thanks to the powerful launchers Dday has basically had since such packs for the engine were possible). Those default effects cannot be disabled without manually editing the deds.

Just a while back, I decided to replay the Hell2pay demo following a thread about it not working properly in the current version of the engine. Hell2pay features new sprites for several bad guys. The Imp replacement graphics have yellow blood. Doomsday has an effect tied to the imps ID in its default deds that spew red colored particles when you kill an imp. Similarly, several other foes are replaced with robots and Dday has blood particle effects tied to the things they replace in its default ded.

Default visual effects like these can also interfere with mods made for Dday given that, at least currently, a handful of effects are still tied to a things ID. For instance, item drops. Say I want my new bad guy to drop something; I have to use an ID of an original thing that tied to drop something. Which means I also have to take any default visual effects tied to said thing or add additional ded code to manually disable those effects.

Even if you do have some plans for a release of the engine that may be years away, as has been proven in the past, certain features planned for the next release of the engine have ended up not appearing (i.e. being postponed) in reality for several releases. Not to mention, such a complex method may be cool on paper or a cool thing on a feature list, but is it overdoing what could be solved in a far easier way and still giving the end user full choice (i.e. not taking it out of their hands completely, which may been seen as a bit insulting).

Maybe this should become a forum discussion, as it has moved away from "feature request"?

#6 Updated by vermil over 10 years ago

There is also the anomaly of the 'chgun' sound def in Doom's sounds.ded. I'm not sure if it was in Vanilla Doom or not.

But the thought has also crossed my mind that it may be a new sound def that Dday added, but ultimately never used. That it may be an incomplete remnant of a never finished plan to allow modders to replace the firing sounds of the pistol and chaingun separately (‘chgun’ uses Dday's link feature). How was it never finished; the source code for A_FireCgun was never updated to point to it over 'pistol'.

GZDoom also adds an entry for the chaingun in its sndinfo. But it’s called ‘chngun’, which to me makes me wonder even more if Dday’s ‘chgun’ was a new def added to Dday; otherwise the names of GZDoom’s sndinfo and Dday’s sound defs appear to match up.

Of course, as I mentioned, it may actually be an unused sound def from Vanilla Doom.

Heretic's sounds.ded features many sound defs that use the link feature. But I’m even less sure if they were in Vanilla Heretic or an attempt by Dday in the distant past, to split up cases where Heretic used the same sound for multiple things. Unlike Doom’s ‘chgun’ though all these sounds defs are only used by the external mobj defs as far as I am aware. If they weren’t in Vanilla Heretic, one might argue that they could all be deleted now, as users can freely add their own sound defs. But there is the worry that Dday specific Heretic mods might now expect these extra defs (though I don’t recall one Dday Heretic mod).

#7 Updated by skyjake over 10 years ago

  • Tags set to Definitions
  • Subject changed from Update the deds that come with Dday to Standard definitions should conform to vanilla
  • Category set to Vanilla emulation

"Standard definitions" are the ones included in the official Doomsday distribution packages.

Once Doomsday supports resource packaging natively, we could separate all the additional effects (smoke, ricochet, etc. ) into additional .pack files (that are still available in the distribution, though).

#8 Updated by skyjake over 10 years ago

  • Parent task set to #1648

#9 Updated by vermil over 10 years ago

Dday makes a handful of mobj state changes, all making things full bright that weren’t in the original games. For visual reasons, fixing perceived mistakes on ID and Raven's parts and limitations in Dday's modding features.

As of writing these are the current mobjs and states in DDay IIRC

Doom: Zombieman attack states
Doom: Cyber Demon attack states
Heretic: Dragon Claw ammo pickups
Heretic: Hell Staff ammo pickups
Heretic: Serpent Torch scenery mobj
HeXen: Wraithverge Ghosts (#915)

My personal suggestion for supporting the above, is something like DaniJ’s suggestion in issue 251 about supporting game rules (which could also be applied to mobj def differences in ports such as ZDoom, when Dday comes to support features from those ports in the distant future), except linked to something like rendering appearance profiles?

Thing {
Speed = 10;

GameRule "Fast" { # Selector
Thing mods "SERGEANT" {
Speed = 20;

I also figure that Dday could do something like this for dealing with mobj differences in other ports; for instance, there was no cross port agreement when it came to giving Doom scenery mobjs 'real heights' (ID left them all at 16 and relied on the engine not allowing solid mobjs to pass over/under eachother; when ports removed this limitation they had to change all the heights) and thus they all change them to different heights.

#10 Updated by skyjake about 7 years ago

  • Target version set to Vanilla / Gameplay

#11 Updated by skyjake over 4 years ago

  • Assignee deleted (danij)

Also available in: Atom PDF