Difference between revisions of "DSDHacked"

From DoomWiki.org

[checked revision][checked revision]
m (Supported ports: Add Woof! as supported port)
m (Supported ports: Nugget Doom addition)
Line 40: Line 40:
 
Support for DSDHacked is currently supported by the following ports:
 
Support for DSDHacked is currently supported by the following ports:
 
* [[DSDA-Doom]] (Version 0.21)
 
* [[DSDA-Doom]] (Version 0.21)
 +
* [[Nugget Doom]]
 
* [[Woof!]] (Version 7.0.0)
 
* [[Woof!]] (Version 7.0.0)
  

Revision as of 10:24, 7 November 2021

DSDHacked is a specification and standard aimed at removing several limitations as imposed by DeHackEd. It is an extension to the MBF21 specification regarding raising the limits of things, states, sprites and sounds in DeHackEd, but it can also be supported separately.

The DSDHacked specification was finalized on August 21, 2021.

History

The idea behind the specification was originally by Ryan Krafnick (Kraflab) in a Doomworld thread titled: "DSDhacked [unlimited everything]"[1]. It is defined as a general standard, with specific implementations required for each source port.

Features

  • Support for unlimited things, states, sprites, and sounds (until you run out of memory / reach 2^32)

Details

Use Doom version = 2021 in a DeHackEd file to denote that you are using DSDHacked indices. This allows ports to adapt your changes to their specific internal tables. Otherwise your file may be interpreted differently in different ports.

Further details can be seen in the following files:

Defaults

When you define a new index, the game allocates new entities up to that value. The data is filled with default values.

Defining Things / States / Sounds

These can be defined normally, with Thing 1234, Frame 4444, or Sound 137 for instance. From the perspective of DeHackEd format, there is no change except conceptually "every index exists" for these entities.

Defining Sound / Sprite Lumps

The author can define the lump names for sprites and sounds in the table sections of the DeHackEd file. These sections normally replace lump names (OLD1 = NEW1). If the left value is a number, it is interpreted as the index where you want to store the given name. You must set the lump names for any new sound or sprite indices that you reference elsewhere, otherwise the data won't be allocated and the associated sound / sprite won't actually exist. An example is shown below:

[SPRITES]
1234 = NEW1
63 = WHOA

[SOUNDS]
100 = EXPLOD
3930 = TWISTR

Supported ports

Support for DSDHacked is currently supported by the following ports:

Trivia

See also

External links

References

  1. Doomworld forums thread