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

New Editing Standards Resource Megathread

Recommended Posts

Thanks for this, Ralphis.
This should be pinned as is totally relevant for the times ahead.
It will be probably expanded on the following months as new tools and features are appearing as people start experimenting with this new resources.

Share this post


Link to post

Great post, thank you for summarizing it all!

 

A useful addition might be what ports and port versions currently support each of the above, so mappers know which ports they can target if they wish to take advantage of them.

Share this post


Link to post
3 hours ago, Bauul said:

A useful addition might be what ports and port versions currently support each of the above, so mappers know which ports they can target if they wish to take advantage of them.

Below are just the ports that I personally test/use. Please comment if you know more.

 

MBF21:
DSDA-Doom (since 0.19), Woof! (since 6.0.0), GZDoom (since 4.7.0 - unfinished/buggy)
In development: Eternity Engine, Doom Retro, Odamex

 

DEHEXTRA:
Doom Retro, PrBoom+, Crispy Doom, GZDoom, Eternity Engine, DSDA-Doom, Woof! and probably more.
Please note that there is no spec, most ports increase the number of things and sprites, but may not add new fields from Doom Retro.

 

DSDEHACKED:
"Unlimited" states, sprites, sounds, and things in dehacked (until you run out of memory).

Doomwiki article: https://doomwiki.org/wiki/DSDHacked
Spec: https://github.com/kraflab/dsda-doom/blob/master/docs/dsdhacked.md
 

Supported by:
DSDA-Doom (since 0.21), Woof! (since 7.0.0)

 

UMAPINFO:
PrBoom+, GZDoom, Eternity Engine (latest devbuilds), DSDA-Doom, Woof!, Doom Retro (partially)
In development: Odamex

Share this post


Link to post
11 hours ago, Ralphis said:

Releases Using the Feature

For MBF21, there's a rather exhaustive list here:

 

Share this post


Link to post

DECOHack supports MBF21 and DSDHacked

UDB supports MBF21 (the config is not yet enabled by default) and DEHEXTRA, and DSDHacked.

Share this post


Link to post

Not that new (since 2008) but worth to include for reference:

 

UDMF

What Is It?

UDMF is a map format which extends the features of mapping in various ways. The new features depend on sourceport implementation, but are all supported in a unified format, such that all editors can support the features without the need for yet another map format. UDMF consists of several lumps that make up the map data in similar fashion as the original, standard sequence of map lumps. Sourceports that implement UDMF at this time of writing:

  • Eternity
  • (G)ZDoom
  • 3DGE
  • Vavoom
  • Skulltag
  • Zandronum
  • I'm probably missing some here, I haven't kept track very well.

Some common new features that sourceports add through UDMF are:

  • Floating-point precision of vertex coordinates.
  • Flat (floor/ceiling) texture alignments.
  • Flat and wall texture scrolling direction and speed.
  • Individual brightness for ceiling, floor or sidedef parts (high/mid/low).
  • Colored lighting for individual parts.
  • Transparent rendering of textures.
  • Sloped floors and ceilings.

Knowledgebase

DoomWiki UDMF Article

UDMF 1.1 technical specifications

ZDoom UDMF Article

ZDoom UDMF implementation specifications

Eternity UDMF implementation specifications

 

Releases Using the Feature

Verdant Citadel - Large stone fortress map by Exl.

Paradise - 7 map episode by Tango.

Hell-Forged - Reboot/sequel to Demon Eclipse's second episode by Amuscaria.

Bastion of Chaos - An epic slaughter map by Bridgeburner.

Ar Luminae - A large and vibrant Doom 2 map by Aurelius and Kaito.

Faithless Trilogy - A Heretic/Hexen megawad by Jimmy.

Probably a bazillion more, I haven't kept track.

 

Tools

All doom map editors that have recently been in active development support this, I think, but you know, I don't keep track that well. Please fill me in.

 

Edited by CodeImp

Share this post


Link to post

First off, apologies for responding to a dormant thread, but considering that it's stickied thread I think this is fine. Also, this is a resource that really belongs here and more people should be aware of.

 

BCS

What Is It?

BCS is an extension of ACS. BCS is mostly compatible with ACS and provides many interesting and useful features, including the following:

  • Structures
  • Enumerations
  • Namespaces
  • Preprocessor
  • Strong types
  • Block scoping
  • Optional function parameters
  • Object and function references
  • && and || operators are short-circuited
  • foreach loop
  • ?: operator

Knowledgebase

ZT-BCC Wiki

 

Tools

ZT-BCC - The BCS compiler. It compiles BCS scripts to the same bytecode as the ACS compiler and should work fine with the vast majority of existing ACS scripts, so chances are you can use it as a drop-in replacement and start using it for your new scripts without worrying about updating the old ones.

 

On a side note, since this isn't mentioned anywhere: if you use SLADE you can modify the contents of "slade.pk3" so it'll recognize files with the "bcs" extension as ACS scripts and automatically enable syntax highlighting for those files. The relevant file is config/entry_types/text.cfg; just look for the line that says «match_ext = "acs";» and change it to «match_ext = "acs", "bcs";».

Edited by QuotePilgrim

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
×