{"id":18391090,"url":"https://github.com/fragglet/wadgadget","last_synced_at":"2025-04-07T02:35:32.294Z","repository":{"id":43534177,"uuid":"509298292","full_name":"fragglet/WadGadget","owner":"fragglet","description":"Curses-based Doom WAD file editor","archived":false,"fork":false,"pushed_at":"2025-04-05T20:11:16.000Z","size":1756,"stargazers_count":26,"open_issues_count":11,"forks_count":1,"subscribers_count":4,"default_branch":"trunk","last_synced_at":"2025-04-05T20:23:10.518Z","etag":null,"topics":["doom","editing","heretic","hexen","strife","tool","utility","wad"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fragglet.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-07-01T02:41:46.000Z","updated_at":"2025-04-05T19:16:02.000Z","dependencies_parsed_at":"2022-07-15T10:19:48.131Z","dependency_job_id":"441c17e1-e08f-44f1-84e7-b22cd27e5b20","html_url":"https://github.com/fragglet/WadGadget","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fragglet%2FWadGadget","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fragglet%2FWadGadget/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fragglet%2FWadGadget/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fragglet%2FWadGadget/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fragglet","download_url":"https://codeload.github.com/fragglet/WadGadget/tar.gz/refs/heads/trunk","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247583715,"owners_count":20962068,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["doom","editing","heretic","hexen","strife","tool","utility","wad"],"created_at":"2024-11-06T01:50:37.367Z","updated_at":"2025-04-07T02:35:32.277Z","avatar_url":"https://github.com/fragglet.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"![WadGadget icon](wadgadget.svg)\n\nWadGadget is a console-based, interactive WAD file editor for Doom engine games\n(and others that reuse the WAD format).\n\n![Screenshot of WadGadget](screenshot.png)\n\nThe program is a love letter to TiC's [New WAD\nTool](https://doomwiki.org/wiki/New_WAD_Tool), a '90s WAD editing tool that I\nhave continued to find useful even two decades after its last release.  The\nuser interface is inspired both by orthodox file management tools like [Norton\nCommander](https://en.wikipedia.org/wiki/Norton_Commander) but also by the\n[unfinished 1.4\nbeta](https://doomwiki.org/wiki/New_WAD_Tool#NWT_pro_beta_release) release of\nNWT which was going to have a two-pane interface for viewing two WAD files\nsimultaneously.\n\nA two-pane WAD editing tool has several advantages. Firstly, when editing Doom\nWAD files, one develops PWADs as a patch against the original IWAD file. The\nresult is a merger between the two, and it's helpful to be able to explore this\nand see the effect of one on the other. Secondly, WadGadget fully\nintegrates both the filesystem and WAD views; the actions of importing,\nexporting or copying between WADs all take place through a consistent interface.\n\n## Features\n\nWadGadget aims at minimum for feature parity with NWT; [this goal has not yet\nbeen met](https://github.com/fragglet/WadGadget/milestone/1). It also adds new\nfeatures and a more logical GUI, but is likely never going to include as many\nfeatures as other tools like the excellent\n[SLADE](https://slade.mancubus.net/).\n\nThe following table gives a brief summary of the current state:\n\n|                                | NWT                  | WadGadget                                   | SLADE                                |\n|--------------------------------|----------------------|---------------------------------------------|--------------------------------------|\n| Operating System               | DOS                  | Linux, macOS, BSD, other Unixes             | Windows, macOS, Linux                |\n| Software License               | [License-free](https://en.wikipedia.org/wiki/License-free_software); v1.3 source is public | GNU GPLv2 | GNU GPLv2 |\n| Interface                      | Text UI (80x25)      | ncurses (~any screen size)                  | GUI (wxWidgets)                      |\n| Mouse support                  |                      | ✓                                           |  ✓                                  |\n| Two pane view                  | ✓ (in 1.4 beta)      | ✓                                           | Multi-tab, shows one at a time       |\n| File formats                   | WAD                  | WAD                                         | WAD, ZIP, PAK, HOG, many others      |\n| Fundamentals: Create, Delete, Rename | ✓              | ✓                                           | ✓                                    |\n| Rearrange lumps within WAD     |                      | ✓                                           | ✓                                    |\n| Filesystem navigation          | ✓                    | ✓ (fully integrated with WAD view)          | ✓                                    |\n| Basic file management          |                      | ✓ (open, copy, delete, rename files)        | ✓ (open, copy, delete, rename)       |\n| Quick search within WAD        | ✓                    | ✓                                           |                                      |\n| Open/edit via external editors |                      | ✓                                           | ✓ (open only)                        |\n| Quick summary of lump contents | ✓ (graphics, demos)  | ✓ (graphics, demos, SFX, PC speaker sounds) | ✓ (almost everything)                |\n| WAD clean/compact              | ✓ (via command line) | ✓                                           | ✓                                    |\n| Undo                           |                      | ✓ (multi-level, plus redo)                  | ✓ (multi-level, plus redo)           |\n| Hexdump view                   | ✓                    | ✓                                           | ✓                                    |\n| View ENDOOM                    | ✓                    | ✓                                           | ✓                                    |\n| Viewing graphics/flats         | ✓                    | ✓ (for terminals that support Sixels)       | ✓                                    |\n| Graphics import                | ✓ (GIF, PCX)         | ✓ (PNG)                                     | ✓ (many formats)                     |\n| Graphics export                | ✓ (GIF, PCX)         | ✓ (PNG)                                     | ✓ (many formats)                     |\n| Edit graphic offsets           | ✓                    | fragglet/WadGadget#11                       | ✓                                    |\n| PNG grAb chunk support         |                      | ✓                                           | ✓                                    |\n| Audio playback                 | ✓                    | fragglet/WadGadget#13                       | ✓                                    |\n| Audio import                   | ✓ (WAV, VOC)         | ✓ (WAV, VOC, FLAC, others)                  | ✓ (many formats)                     |\n| Audio export                   | ✓ (WAV, VOC)         | ✓ (WAV)                                     | ✓ (many formats)                     |\n| Music playback                 | ✓                    | fragglet/WadGadget#14                       | ✓                                    |\n| Music import                   | ✓                    | ✓                                           | ✓ (many formats)                     |\n| Music export                   | ✓ (MUS)              | ✓ (converts MUS to MID)                     | ✓ (many formats)                     |\n| Alternate palette support      | Doom/Heretic         | ✓ (arbitrary/custom)                        | ✓ (arbitrary/custom)                 |\n| Palette/colormap import        |                      | ✓ (PNG)                                     | ✓                                    |\n| Palette/colormap export        |                      | ✓ (PNG)                                     | ✓                                    |\n| Texture editor                 | ✓                    | WIP (fragglet/WadGadget#9); can be edited as text as a stopgap | ✓                 |\n| PNAMES editor                  | ✓                    | ✓                                           | ✓                                    |\n| Online help                    |                      | ✓ (Hypertext-based contextual help)         | ✓ (browser tabs to access help/wiki) |\n| View/edit levels               |                      |                                             | ✓                                    |\n| Edit ACS scripts               |                      |                                             | ✓                                    |\n| Source port features           |                      |                                             | ✓                                    |\n| Scripting                      |                      |                                             | ✓ (via Lua)                          |\n| A zillion other features       |                      |                                             | ✓                                    |\n\n## FAQ\n\n**Can I use this under Microsoft Windows?**\n\nThere is not yet a native Windows version. You can probably make it\nwork by using [Windows Subsystem for Linux](https://en.wikipedia.org/wiki/Windows_Subsystem_for_Linux);\nI have not yet heard from anyone who has tried this.\n\n**Will you add {my favorite feature here}?**\n\nFirstly, WadGadget is never going to implement every feature found in other\neditors like SLADE. Some of the planned features are listed in the table\nabove. If there is a particular feature that you think is important to\nadd to the program, [file a feature request](https://github.com/fragglet/WadGadget/issues/new).\n\n**What features will never be implemented?**\n\nThe goal of the project is to develop a curses-based Doom WAD editor. This\nnecessarily means that various features will always be out of scope. Some\nexamples are:\n\n* It will never include a level editor, or anything else that requires a\n  graphical display (like an image editor). It's better to delegate that\n  kind of thing to other programs.\n* It is unlikely to ever include any kind of GUI or GUI integration\n* It is unlikely there will ever be support for other archive formats, like\n  `.zip`/`.pk3` (used in some Doom source ports), or formats like `.pak` or\n  `.grp` used in other games.\n\nThe project also tries to avoid \"useless\" features -- for example,\nconfiguration options to change the colors of the interface (Commander\nMode is the one such feature that is the exception).\n\n**Why is this ugly/slow on FreeBSD?**\n\nThe version of curses shipped with FreeBSD seems to be very limited or an\nold version for some reason. Make sure you compile against the version from\nthe ports database, and also install the terminfo database. You can do this\nwith `pkg install ncurses terminfo-db`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffragglet%2Fwadgadget","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffragglet%2Fwadgadget","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffragglet%2Fwadgadget/lists"}