Arachnotron

A Responsive, Cross Platform Doom Launcher

Recent Updates

1.1.4 is now available for both Windows and Linux.

Features:

  • 1.1.4 Files and Folders can now be dragged and dropped onto Resource, Iwad and Engine lists.
  • 1.1.2 Profiles can now have Inherited Profiles added to them where they will load all Resources, Player Classes, Cvars and Additional Arguments dynamically from the inherited profiles.
  • 1.1.2 Multiplayer settings now fade in and out of a low opacity depending on if they're relevent or not, they can still be viewed and edited when faded out.
  • 1.1.2 Added a toggle to blur the Join Address box, useful for streamers, videos, etc.
  • 1.1.2 Reorganised the Profile Edit view layout, the left column has all required and aestetic values, the right column has all optional and inheritable values such as files, cvars, etc.
  • 1.1.1 Find Iwads: Arachnotron can now automaitcally find iwads by filename from a selected folder, click the new "Find Iwads In Folder" button found in the Iwads menu to do this.
  • 1.1.1 Better Profile and Category Importing: A new import button has been added to the bottom left set of controls, the old profile/category edit import buttons have been removed. Arachnotron will automatically detect Category or Profile json data. Multiple json files can now also be selected at once for mass importing.
  • 1.1.0 Launch Command Preview: A box has been added to the profile launch view with a Generate button, this will generate the launch command for testing or copying into a launch script.
  • 1.1.0 Player Classes: Profiles can now have a list of player classes added to them which are made available via a dropdown in the launch view.
  • 1.1.0 Profile Backgrounds: Profiles can now custom backgrounds set much like how their icons are set.
  • 1.1.0 Profile Tile Background Hiding: The metal tile that shows under profile images in the category view can now be hidded for those who want to use profile tiles with alpha backgrounds.

Improvements:

  • 1.1.3 Improved the alpha fade out effect for the network input controls.
  • 1.1.2 Reorganised the Profile Edit view layout, the left column has all required and aestetic values, the right column has all optional and inheritable values such as files, cvars, etc.
  • 1.1.2 Improved the dynamic layout of various views when resized and added a save icon where relevent.
  • 1.1.2 Categories in Profile Edit view is now a proper list instead of a comma seperated text box.
  • 1.1.0 Load Games: Added a file dialog button for finding a save game to load.
  • 1.1.0 App code has been drastically tidied up, this will make it less error prone and easier to manage and build upon.

Fixes:

  • 1.1.4 Fixed a bug where "Find Iwads In Folders" was not detecting anything in some cases.
  • 1.1.4 Fixed a bug where the multiplayer fields were sometimes faded out when they shouldn't be.
  • 1.1.3 Fixed the file and folder selection buttons not opening a dialog for Resource selection.
  • 1.1.2 Fixed the "Next Level Time Limit" launch setting not working.
  • 1.1.1 Fixed the file selection buttons not working in the Iwads menu and Engines menu.
  • 1.1.0 Fixed Player Class Launch Setting not working (it was adding -class instead of -playerclass).
  • 1.1.0 Fixed Console Variables not working (they were missing +set).
  • 1.1.0 Fixed a bug where the "Deathmatch Weapons" launch option was inverted.
  • 1.1.0 Fixed a bug where the "Additional Args" Launch Setting didn't have an initial space added onto the launch command.
  • 1.1.0 Fixed a bug where the "Additional Args" Profile Setting wasn't actually added to the launch command.
  • 1.1.0 Fixed "Load Game" Launch Setting not being added to the launch command.

About

So I wanted to learn how to make a QT Quick App as well as the basics of C++ and decided that I would work on a new Doom Launcher to do this! Also Arachnotron are the best Doom monsters so naturally that was the launcher's name. Please report any problems on Gitlab.

JSON Configs

Arachnotron uses human readable json files to manage profiles and categories, these can be edited within the launcher or by hand with a text editor. My current WIP project makes use of this through git to keep the files I use in multiplayer with my friends in sync for example. Multiple jsons can also be imported together to make things much quicker and easier.

Relative Paths

Arachnotron can use paths relative to the location of the profile json file, this means that people wanting to package together several wads/pk3s can do so and include a category and profile jsons at the root of their project ready for others to import. All paths use forward slashes / even in Windows.

Profile and Launch Level Resources

A list of files/folders can be added to a profile in a specific load order in the profile edit page. Then on the launch page, more files or folders can be added, this is good if for example you are using several gun wads and but want to keep changing map wads, as the profile gun resources remain unchanged, but the launch map resources can be constantly changed. In the future I want to add Engine level and maybe even Iwad level resources for things such as brightmaps.pk3 and lights.pk3 for GZDoom, for now only configs can be set per Engine.

Profile Art

Category and Profile icons and backgrounds can be included to make things look fancy!

Categories

Profiles can have a comma separated list of category names that they are allowed to show up in (case sensitive currently), each category can then be viewed, this works almost like a tagging system and also allows for profiles to contain categories that don't exist without causing problems.

The category view.

Profiles

Profiles provide a list of files or folders to load as well as commonly used cvars, you can also add any other arguments you want at the profile level.

The profile launch page.

The profile edit page.

An example of a profile for my project showing the cvars that are commonly used with their reset to profile default buttons as well as a custom background image. You can also see the launch command preview that I've generated which is use for copying into launch scripts or for testing the launch commands out.

A busier edit page of my project's main profile, many resources are loaded from paths that are relative to where the profile's json file is located, absolute paths can also be used but should be avoided if you plan on sharing the profile with others or bundling one with a project. This profile is quite large and all my other profiles inherit from it making managing them all at once incredibly easy.

Iwads

Iwad names and paths are set separately, this allows for profiles to be easily shared across multiple devices as there are no absolute paths needed, instead they just refer to an Iwad by name (currently case sensitive, but the edit profile page offers a drop down for selecting Iwads easily). The "Find Iwads In Folder" button can be used to be automatically find and add Iwads in a folder (based on their filenames).

Engines

Multiple engines can be added which are then set in profiles by name much like how Iwads work. The config path for an engine can also be set if needed as well.