Jump to content

The Official DoomTools Thread


MTrop

Recommended Posts

Oh frabjous day, callooh, callay! A new version of DoomTools is here, along with DoomMake Studio, so you probably should use the installer to get a useful shortcut added to your start menu.

 

studio.png.958c05c935c6ec9d5849cc15cf36d20a.png

 

Ain't it purdy? I made it mahself!

 

DoomMake Studio is an all-in-one DoomMake project IDE, with an integrated directory listing (which was also added to WadScript and DECOHack), and well as a Git repository controller! Whoa! (Mercurial coming soon) For non-Windows users (and Windows as well), you can start DoomMake Studio from the command line in the root of your project with:

doommake --studio

You can also start it from the DoomTools GUI, but it will start as a separate program.

 

EDIT: I should also mention that it is samrt enough to figure out whether something should be opened in a system editor or in SLADE or whatever map editor you use, as long as you set that up in options!

 

Full list of changes is here:

 

Changes
-------

- **2022-07-18** Fixed syntax highlighting for strings on RookScript-based languages (WadScript, DoomMake).


DECOHack
--------

### Changed for 0.26.0

* `Fixed` Added some bit flags that were missing from the docs: UNUSEDX bits, FRIENDLY.
* `Added` A directory tree for the GUI.
* `Added` A warning on wrong int/fixed type use (Enhancement #78).
* `Added` A warning on wrong Thing type use (MISSILE vs. not) (Enhancement #77).


DoomMake
--------

### Changed for 0.18.0

* `Added` A "Studio" mode only runnable as a Desktop App.


WadScript
---------

### Changed for 1.6.0

* `Added` A directory tree for the GUI.

And that's it! Happy hacking!

 

Edited by MTrop

Share this post


Link to post

Another update, mostly to DECOHack: https://github.com/MTrop/DoomTools/releases/tag/2022.07.28-RELEASE

 

Changes
-------

- **2022-07-27** Some GUI graphics cleanup and changes.


DECOHack
--------

### Changed for 0.27.0

* `Added` The `state protect` and `state unprotect` clauses now accept state index clauses, not just numbers. (Enhancement #12)
* `Added` Custom properties. (Enhancement #55, #54)

Yes, indeed! DECOHack now allows custom properties on "non-standard" ports and patches! All you have to do is declare them ahead of their use, similar to how custom action pointers work!

 

From the docs:

 

==============================================================================
===== Custom Properties
==============================================================================

There are some ports out there that accept additional DeHackEd properties. In
order to use those, you have to declare them ahead of time, like custom action
pointers.

    custom <Object> property <Name> <DEHLabel> <ValueType>

...where <Object> is one of: 

    thing, weapon, misc, state, sound, ammo
    
...and <Name> is the property name.

...and <DEHLabel> is the DeHackEd entry name when the DEH patch gets written.

...and <ValueType> is one of: 

    bool         // 0 or 1
    byte         // -127 to 127
    ubyte        // 0 to 255
    short        // -32767 to 32767
    ushort       // 0 to 65535
    int          // -2147483648 to 2147483647
    uint         // 0 to 2147483647
    angleint     // -359 to 359
    angleuint    // 0 to 359
    anglefixed   // -359.99998 to 359.99998
    fixed        // -32768.99998 to 32767.99998
    state        // 0 to 2147483647, verify valid state index, reference, or label.
    thing        // 0 to 2147483647, verify valid thing index.
    thingmissile // 0 to 2147483647, verify valid thing index, and thing is a MISSILE.
    weapon       // 0 to 2147483647, verify valid weapon index.
    sound        // valid sound name.
    flags        // -2147483648 to 2147483647, flag expression
    string       // any string expression, written as-is.


For example, Doom Retro's "gib health" property for Things can be defined as:

    custom thing property gibhealth "Gib health" int

Happy hacking!

Share this post


Link to post

Added/fixed some stuff to/in DoomMake this time around: https://github.com/MTrop/DoomTools/releases/tag/2022.08.11-RELEASE

 

scrnshot.png.5f5b20277a9321750f6cb5bcee7dc904.png

 

Yup, Project Search is now a thing. It's not super advanced, but it gets the job done. Only searches files believed to be text only.

Changes
-------

- **2022-08-08** Markdown is rendered out in Help dialogs.

DoomMake
--------

### Changed for 0.20.0

* `Added` [GUI-Studio] Project search.
* `Fixed` [GUI] Repository managers attempted to call CMD on non-Windows OSes.
* `Fixed` [GUI] Opening a Terminal on macOS now works as intended.

 

Edited by MTrop

Share this post


Link to post
  • 3 weeks later...

Another release - main changes are adding some commands to WadMerge and a change to a keyword in DECOHack (old patches will still build).

https://github.com/MTrop/DoomTools/releases/tag/2022.09.01-RELEASE

Changes
-------

- **2022-08-23** New Folders get "new folder" names on directory trees.


DECOHack
--------

### Changed for 0.29.0

* `Added` `monstersFightOwnSpecies` miscellany field. (Enhancement #82)

### Changed for 0.28.0

* `Added` Documentation for all pointers in is HTML when dumped with `--dump-pointers-html`.


WadMerge
--------

### Changed for 1.9.0

* `Added` [GUI] Verbose output flag for running scripts.
* `Added` MERGEENTRY and MERGEENTRYFILE commands.

 

Share this post


Link to post
  • 4 weeks later...
  • 3 weeks later...
  • 2 months later...
  • 3 weeks later...

Another release with a few fixes/upgrades: https://github.com/MTrop/DoomTools/releases/tag/2023.01.11-RELEASE

Changes
-------

- **2023-01-11** Updated RSyntaxTextArea to `3.3.1`. [Changes here.](https://github.com/bobbylight/RSyntaxTextArea/releases/tag/3.3.1)
- **2023-01-11** Categorized "other languages" in editors into alphabetical divisions.

DoomMake
--------

### Changed for 0.20.1

* `Changed` [GUI-Studio] "Type unrecognized" on file open message: do not say "unrecognized" if we knew it was a WAD file.
* `Changed` [GUI-Studio] "Run DoomMake" menu entries to clarify function.

 

Share this post


Link to post
ERROR: (C:\dooms\custom monsters\propercomp\decohack.dh:mt_troopshot) Line 1, Token "32": Expected "thing" after ':'.

Using Decohack to make more monsters in MBF21, suddenly this, what does this even mean?

I did inherit from troopshot a few times, didn't have a problem before.

 

Update: Moments after posting, had profound realization. Still pointing to the wrong file was very confusing.

Edited by ViolentBeetle

Share this post


Link to post

New release, and a NEW UTILITY! https://github.com/MTrop/DoomTools/releases/tag/2023.01.19-RELEASE

 

DoomFetch is in the vein of GetWAD or WadSeeker where it will search for WADs/PK3s/PKEs/ZIPs from different sources, and maintain a "lock" file for successfully fetched WADs so they can be re-fetched for different targets. The goal of this tool is just for fetching, or for dependency management.

 

It's pretty much in its initial stages - do not expect much from DoomFetch at the moment. For now, this is a command-line only utility.

This version adds a utility. If you update via command-line, also type:

    doomtools --update-shell

Changes
-------

- **2023-01-16** Changed WadMerge file filter to include TXT files.
- **2023-01-16** Changed WadScript file filter to include SCRIPT files.

DoomFetch
---------

### Changed for 1.0.0

* Initial Release.

DoomMake
--------

### Changed for 0.21.0

* `Added` TOOL::DOOMFETCH function.

WadMerge
--------

### Changed for 1.9.1

* `Fixed` [GUI-Editor] Opening a file filtered the wrong kind of files (WadScript, not WadMerge). (Issue #88)
* `Changed` [GUI-Executor] The working directory form field will not auto-fill unless it is blank.

WadScript
---------

### Changed for 1.6.1

* `Changed` [GUI-Executor] The working directory form field will not auto-fill unless it is blank.

 

Share this post


Link to post

New release: https://github.com/MTrop/DoomTools/releases/tag/2023.01.25-RELEASE

 

Autocomplete is fixed in this release. Problem was in the build. Users that use the GUI are encouraged to upgrade to this version ASAP. Sorry for any inconveniences that this may have caused.

 

Changes
-------

- **2023-01-25** Updated Black Rook JSON to `1.3.0`. [Changes here.](https://github.com/BlackRookSoftware/JSON/releases/tag/1.3.0-RELEASE)
- **2023-01-25** Updated AutoComplete to `3.3.1`. [Changes here.](https://github.com/bobbylight/AutoComplete/releases/tag/3.3.1)

 

Share this post


Link to post
  • 4 weeks later...
  • 2 weeks later...
  • 3 weeks later...

Is there anything I can do to have DeCoHack compiler produce a patch that doesn't overlap with another?

Specifically, I'd like to develop two separate MBF21 monster sets but want to test them together, I imagine just trying to just make two dh files will produce overlap in states.

Share this post


Link to post

"#include"-ing all files from the main.dh should work. Or do you want the end result be two separate DeHackEd files?

Share this post


Link to post
4 hours ago, boris said:

Or do you want the end result be two separate DeHackEd files?

I was hoping for this, yes. Splitting source code isn't much of a concern here.

Share this post


Link to post
On 3/28/2023 at 3:19 AM, ViolentBeetle said:

Is there anything I can do to have DeCoHack compiler produce a patch that doesn't overlap with another?

Specifically, I'd like to develop two separate MBF21 monster sets but want to test them together, I imagine just trying to just make two dh files will produce overlap in states.

 

There is no current mechanism in place to force using certain Thing or State ranges, however you can do the following:

 

Instead of #include <mbf21>, you can:

 

using mbf21

#include "classpath:decohack/constants/mbf21.dh"
#include "classpath:decohack/constants/mbf/things_aliases.dh"
#include "classpath:decohack/constants/doom19/weapons_aliases.dh"

...and then you can free an arbitrary range of Things and States to write to. The original include line would have executed code that frees the full available ranges.

Share this post


Link to post

Fuck man, I love you @MTrop These tools are so, so, SO fucking useful and I haven't even used them properly yet. I haven't played with DecoHack yet but I'm very excited to see just how good it is (RIP Whacked?). The way you set up WTexScan and WTExport is very user friendly and makes it a breeze to tidy up textures. Thanks a million, can't wait to try out the other tools.

Share this post


Link to post
  • 4 weeks later...

I've been learning how to map these past few weeks and I was gradually losing my mind trying to figure out how to easily package textures from a texture pack into my wad file without bloating it with all the textures I'm not using. Doing this task manually in Slade was absolute torture.

 

"There's got to be a better way!"

 

DoomTools to the rescue! By automating away all the annoying parts of managing wads DoomTools empowers mappers to create more and better maps faster.

 

Thanks @MTrop for your hard work.

 

Share this post


Link to post

How do I silence chainsaw when selected? I guess I can replace the sound with silence, but that can't be right.

The instruction to decohack didn't help.

Share this post


Link to post
3 minutes ago, ViolentBeetle said:

How do I silence chainsaw when selected? I guess I can replace the sound with silence, but that can't be right.

The instruction to decohack didn't help.

The chainsaw selection sound plays whenever the chainsaw is selected. It's hardcoded into Doom.

 

The chainsaw idle sounds are also played when the chainsaw is the current weapon and A_WeaponReady is called on state 67. Also hardcoded.

 

You're better off changing the sound for the saw for the first situation.

Share this post


Link to post

I've been mucking about with the DoomTools utilities for quite some time, but I jsimply cannet get the hang of it. Maybe I'm just not looking in the right spot.

 

Is there a utility which extracts, cleans out, the unused textures after importlng the whole bunch of a custom texture pack, to trim the fat from a pwas, so to speek.

Share this post


Link to post

any ideas on how to force graphics settings to display HOM effects on end users machine? or am i better off just being an esoteric prick and make my demands heard in the readme file?

 

P.S. //I'm one of those assholes who uses Linux.... Bionic Beaver For Life!!!

Screenshot from 2023-04-22 22-13-49.png

Edited by LoatharMDPhD

Share this post


Link to post
2 hours ago, Kappes Buur said:

I've been mucking about with the DoomTools utilities for quite some time, but I jsimply cannet get the hang of it. Maybe I'm just not looking in the right spot.

 

Is there a utility which extracts, cleans out, the unused textures after importlng the whole bunch of a custom texture pack, to trim the fat from a pwas, so to speek.

The combo of WTexScan/WTEXport will create a separate WAD of the included textures from a set of maps and texture WADs, but it does not do any removing. None of the utilities out-of-the-box are destructive; they will not remove textures from a set.

 

1 hour ago, LoatharMDPhD said:

 ... stuff ...

This may not be the correct thread for what you are looking for. DoomTools cannot do this.

Share this post


Link to post

Are zombie drops just plain hardcoded and can't be changed with dropitem?

If so, is thing MT_WOLFSS : thing MT_CHAINGUY Acceptable way to make chainguys drop clips?

Share this post


Link to post
30 minutes ago, ViolentBeetle said:

Are zombie drops just plain hardcoded and can't be changed with dropitem?

Looks like a bug - if the only thing you specify is dropitem, empty dehacked is generated.

Minimal setup

using mbf21

thing 11 "Chaingun Sargeant"
{
	DropItem 64
}

produces

Patch File for DeHackEd v3.0
# Created with DECOHack v0.30.1 by Matt Tropiano
# Note: Use the pound sign ('#') to start comment lines.

Doom version = 21
Patch format = 6

Adding something else

using mbf21

thing 11 "Chaingun Sargeant"
{
	Mass 101
	DropItem 64
}

produces expected result

Patch File for DeHackEd v3.0
# Created with DECOHack v0.30.1 by Matt Tropiano
# Note: Use the pound sign ('#') to start comment lines.

Doom version = 21
Patch format = 6


Thing 11 (Chaingun Sargeant)
Mass = 101
Dropped item = 64

 

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...