All Projects → zmnpl → twad

zmnpl / twad

Licence: MIT license
a wad launcher for the terminal

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to twad

bcc
ACS/ACS95/BCS compiler
Stars: ✭ 25 (+56.25%)
Mutual labels:  doom, zdoom, hexen, zandronum
swwmgz m
Codename: Demolitionist. An ambitious GZDoom gameplay mod featuring non-stop over-the-top action, crazy guns, and a cute, sassy robot protagonist, as well as lots of LORE. (Formerly known as SWWM GZ)
Stars: ✭ 23 (+43.75%)
Mutual labels:  retro, doom, gzdoom
Doomretro
The classic, refined DOOM source port. For Windows PC.
Stars: ✭ 349 (+2081.25%)
Mutual labels:  fps, retro, doom
Chocolate Doom
Chocolate Doom is a Doom source port that is minimalist and historically accurate.
Stars: ✭ 1,052 (+6475%)
Mutual labels:  fps, retro, doom
ssgl-doom-launcher
Super Shotgun Launcher - Modern Doom Frontend/Mod Launcher for every Desktop Operating System
Stars: ✭ 86 (+437.5%)
Mutual labels:  doom, zandronum, gzdoom
MetaDoom
A Doom mod that brings Doom into Doom.
Stars: ✭ 53 (+231.25%)
Mutual labels:  doom, gzdoom
argent
ARGENT: a Xaserious DOOM (4) to DooM (classic) weapon mod.
Stars: ✭ 17 (+6.25%)
Mutual labels:  doom, zdoom
flak m
UT Weapons mod for GZDoom
Stars: ✭ 16 (+0%)
Mutual labels:  doom, gzdoom
Rust Doom
A Doom Renderer written in Rust.
Stars: ✭ 2,048 (+12700%)
Mutual labels:  retro, doom
Diydoom
An attempt to understand how DOOM engine works
Stars: ✭ 245 (+1431.25%)
Mutual labels:  retro, doom
Doomlauncher
Doom Launcher is a doom launching utility and database for custom wads and pk3s
Stars: ✭ 63 (+293.75%)
Mutual labels:  fps, doom
Restful Doom
HTTP+JSON API hosted inside the 1993 DOOM engine!
Stars: ✭ 263 (+1543.75%)
Mutual labels:  retro, doom
Richter
A modern Quake engine.
Stars: ✭ 279 (+1643.75%)
Mutual labels:  fps, retro
gzdoom brightmaps
Brightmaps Plus for GZDoom
Stars: ✭ 22 (+37.5%)
Mutual labels:  doom, gzdoom
crispy-doom
Crispy Doom is a limit-removing enhanced-resolution Doom source port based on Chocolate Doom.
Stars: ✭ 608 (+3700%)
Mutual labels:  fps, doom
Unity-FPS-Counter
#NVJOB FPS Counter and Graph. Free Unity Asset.
Stars: ✭ 44 (+175%)
Mutual labels:  fps
phaser-plugin-advanced-timing
Shows FPS, frame intervals, and performance info. Phaser 2/CE
Stars: ✭ 25 (+56.25%)
Mutual labels:  fps
encounter
Remaking the classic C64 game in WebGL.
Stars: ✭ 45 (+181.25%)
Mutual labels:  retro
brass mono
Retro monospaced font inspired by 70's design.
Stars: ✭ 58 (+262.5%)
Mutual labels:  retro
Ugly-as-Sin
Enhancement modules for Hideous Destructor
Stars: ✭ 16 (+0%)
Mutual labels:  gzdoom

twad - terminal wad launcher

Launch classic DOOM with a classic retro style terminal user interface

If you love classic DOOM and want to manage modern source ports to play it along with the plethora of maps, skins and gameplay mods then twad is for you. twad lets you set up a multitude of WAD file combinations, store and launch them with a couple of key strokes. It is light weight and fast to use. If your are living in the termninal you'll feel right at home. Though, even if you are on Windows, double-click and get an intuitive, simplistic and fast retro style user interface to manage your ripping and tearing.

Compatibility

twad mostly was designed for *nix systems. However, meanwhile I've added some OS-sensitive behaviour and cross compiled for Windows. Actually it works quite well. So...

Now with experimental Windows support

Watch Out: This tool is still in early state and might contain bugs.

demo

demo on windows

Features

  • Configure games you want to play (basically a combination of IWAD, Source Port and Mod Files)
  • Run games
  • Quickload (start from latest savegame)
  • Warp to specific episodes / levels
  • Record demos
  • Watch demos
  • Delete demos
  • Collect some stats from the cames console output as well as playtime and so on (not sending it anywhere)
  • Collect stats from savegames
  • Run games from rofi or dmenu
  • Import .zip files containing mods
  • Separate savegame / demo folders for games (in ~/.config/twad/...*)
  • Separate configs per game and shared configs per source port
  • IDGames search/browser and download + import
  • Responsive layout (kind of)

Installation Options

a) Arch Linux: AUR

https://aur.archlinux.org/packages/twad-git

b) Binary Download

Precompiled binaries are added to the releases page. twad comes without dependencies, just download and run it.

c) Compile yourself

go get -u github.com/zmnpl/twad

d) Windows

  • Download the .exe from the releases page
  • Doubleclick (you can do that)

Setup your environment

twad assumes, you have one folder, where your IWADs are located. All your pwads (mapsets, gameplay mods, ...) need to be in the same or subfolder of this. The folder, where you put your IWADs is known to source ports as DOOMWADDIR.

  1. Setup your DOOMWADDIR as described above
  2. twad's first start will ask you to configure your DOOMWADDIR in the options
  3. Within twad create games
  4. Add mods to your games
  5. Rip and Tear

An example DOOMWADDIR could look like this

~/DOOM ❯❯❯ tree
.
├── Ashes 2063
│   ├── Ashes2063Maps115.wad
│   └── Ashes2063Mod115.pk3
├── Back To Saturn X e1
│   ├── btsx_e1a.wad
│   ├── btsx_e1b.wad
│   └── btsx_e1.deh
├── D4T
│   └── D4Tv2.5.pk3
├── Sigil
│   ├── SIGIL_COMPAT.wad
│   └── SIGIL.wad
├── doom2.wad
└── doom.wad

Or this on Windows

C:\DOOM\> dir
.
├── Ashes 2063
│   ├── Ashes2063Maps115.wad
│   └── Ashes2063Mod115.pk3
├── Back To Saturn X e1
│   ├── btsx_e1a.wad
│   ├── btsx_e1b.wad
│   └── btsx_e1.deh
├── D4T
│   └── D4Tv2.5.pk3
├── Sigil
│   ├── SIGIL_COMPAT.wad
│   └── SIGIL.wad
├── doom2.wad
└── doom.wad

More on DOOMWADDIR

Your DOOM source port needs to know about the base folder of your mods and IWADs to work properly, since twad uses relative paths. twad's default method for this is to set the DOOMWADDIR environment variable when starting a game. This is only set for the current game session. (Should you already have set DOOMWADDIR, twad will shadow it with whatever is set in its configuration)

An alternative/additional method is to add paths to the respective source ports config. For zdoom ports it could look like this:

# in your doom engine .ini
[FileSearch.Directories]
PATH=/home/doomguy/DOOM # path to DOOMWADDIR

Rofi Mode

You can use rofi or dmenu to launch your games. Run twad like this to use the respective programm. This will open rofi/dmenu and show a list of all games you already have. Select one you want to play and hit enter. Of course this will also track your statistics.

twad --rofi
# or
twad --dmenu

For instant Rip & Tear bind this to a keyboard shortcut

rofimode

Plans / Ideas

  • Separate savegames folders per game
  • AUR package
  • Rofi mode
  • Help area
  • Savegame Count
  • Unified Add/Edit dialog
  • Opions scren
  • Ability to hide the header for screens with few rows
  • Add button for path setup
  • Quickload
  • Warp to map
  • Demo recording / viewing
  • More statistics; Parse from savegames
  • Zip-Import
  • WSL support Windows support
  • idgames download + autoinstall
  • wad archive download + autoinstall
  • All the TODO flags
  • Error Handling
  • Metadata scraping(?)
  • Tagging / Searching / Filtering

Credit where credit is due

All the other Doom launchers

There are already great alternatives to manage and launch your WADs out there for many years and I give credits to all of them since I've taken a lot of inspiration and knowledge on their functionality. Especially Doomlauncher is a cool piece of software and the source code is well structured and good to read which helped me quite a lot.

Doom logo

The use of the DOOM ASCII logo has been nicely permitted by Frans P. de Vries. Find it's history here

DOOM and Quake are registered trademarks of id Software, Inc. The DOOM, Quake and id logos are trademarks of id Software, Inc. The ASCII version of the DOOM logo is Copyright © 1994 by F.P. de Vries.

tview

tview is used for the terminal ui elements.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].