{"id":49315349,"url":"https://github.com/mmaulwurff/doom-toolbox","last_synced_at":"2026-06-16T07:01:18.988Z","repository":{"id":268105449,"uuid":"868013470","full_name":"mmaulwurff/doom-toolbox","owner":"mmaulwurff","description":"UZDoom add-ons","archived":false,"fork":false,"pushed_at":"2026-06-09T02:46:14.000Z","size":4002,"stargazers_count":15,"open_issues_count":32,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-06-09T04:11:10.121Z","etag":null,"topics":["doom","doom-mod","mod","modding","pk3","uzdoom","zscript"],"latest_commit_sha":null,"homepage":"https://mmaulwurff.github.io/doom-toolbox/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mmaulwurff.png","metadata":{"files":{"readme":"README.org","changelog":null,"contributing":null,"funding":null,"license":"LICENSES/BSD-3-Clause.txt","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-10-05T08:43:33.000Z","updated_at":"2026-06-09T02:42:26.000Z","dependencies_parsed_at":"2024-12-14T11:26:26.324Z","dependency_job_id":"232c8f38-6ba1-40bf-afdf-c838e1d7ea80","html_url":"https://github.com/mmaulwurff/doom-toolbox","commit_stats":null,"previous_names":["mmaulwurff/doom-toolbox"],"tags_count":20,"template":false,"template_full_name":null,"purl":"pkg:github/mmaulwurff/doom-toolbox","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mmaulwurff%2Fdoom-toolbox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mmaulwurff%2Fdoom-toolbox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mmaulwurff%2Fdoom-toolbox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mmaulwurff%2Fdoom-toolbox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mmaulwurff","download_url":"https://codeload.github.com/mmaulwurff/doom-toolbox/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mmaulwurff%2Fdoom-toolbox/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34393305,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-16T02:00:06.860Z","response_time":126,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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","doom-mod","mod","modding","pk3","uzdoom","zscript"],"created_at":"2026-04-26T15:01:26.381Z","updated_at":"2026-06-16T07:01:18.982Z","avatar_url":"https://github.com/mmaulwurff.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SPDX-FileCopyrightText: © 2025 Alexander Kromm \u003cmmaulwurff@gmail.com\u003e\n# SPDX-License-Identifier: CC0-1.0\n\n#+title: DoomToolbox\n\n* About\n\nDoomToolbox is a collection of add-ons for Doom-based game engines which support\nZScript, like [[https://zdoom.org/downloads][UZDoom and LZDoom]].\n\nThe goal of DoomToolbox is to increase replayability of compatible games and mods,\nmake gameplay more enjoyable, and to have fun both while playing and developing this\nproject. The development is done under \"Move slow and fix things\" flag.\n\nDoomToolbox is free and open source software. Add-ons are mostly licensed under\n[[file:LICENSES/GPL-3.0-only.txt][GPLv3]]. Modules are mostly licensed under [[file:LICENSES/BSD-3-Clause.txt][BSD-3-Clause]]. See ~SPDX-License-Identifier~\ntag in each .org file for details. For third-party resources, such as image and sound\nfiles, see ~REUSE.toml~ files in their directories for licenses.\n\n[[file:documentation/Acknowledgments.org][Acknowledgments]]\n\nHTML pages for DoomToolbox should be available [[https://mmaulwurff.github.io/doom-toolbox/][here]]. The source code is available on\n[[https://github.com/mmaulwurff/doom-toolbox/][GitHub]] and [[https://codeberg.org/m8f/doom-toolbox][Codeberg]].\n\nDoomToolbox has a [[https://www.doomworld.com/forum/topic/99760-doomtoolbox/][Doomworld topic]] and a [[https://mastodon.gamedev.place/@doomtoolbox][Mastodon page]]. Some add-ons and modules also\nhave ZDoom forums threads.\n\nThis project doesn't use any AI tools or resources.\n\n| Name               | Description                                      | Forum topic |\n|--------------------+--------------------------------------------------+-------------|\n| *Add-ons*          |                                                  |             |\n|--------------------+--------------------------------------------------+-------------|\n| [[file:add-ons/10.5x.org][10.5x]]              | enemy number multiplier                          | [[https://forum.zdoom.org/viewtopic.php?t=65962][link]]        |\n| [[file:add-ons/FinalCustomDoom.org][FinalCustomDoom]]    | gameplay customization options                   | [[https://forum.zdoom.org/viewtopic.php?t=64678][link]]        |\n| [[file:add-ons/Gearbox.org][Gearbox]]            | more convenient ways to select weapons and items | [[https://forum.zdoom.org/viewtopic.php?t=71086][link]]        |\n| [[file:add-ons/HitImpact.org][HitImpact]]          | textured particles when level geometry is hit    | [[https://forum.zdoom.org/viewtopic.php?t=81483][link]]        |\n| [[file:add-ons/Nomina.org][Nomina]]             | enemy names helper                               | [[https://forum.zdoom.org/viewtopic.php?p=1150645][link]]        |\n| [[file:add-ons/SoundToScreen.org][SoundToScreen]]      | shows where sounds come from                     | [[https://forum.zdoom.org/viewtopic.php?p=1219682][link]]        |\n| [[file:add-ons/TargetSpy.org][TargetSpy]]          | enemy health bar                                 | [[https://forum.zdoom.org/viewtopic.php?t=60784][link]]        |\n| [[file:add-ons/Typist.pk3.org][Typist.pk3]]         | turns FPS games into typing exercises            | [[https://forum.zdoom.org/viewtopic.php?t=66042][link]]        |\n| [[file:add-ons/WarmReception.org][WarmReception]]      | alters enemy behavior on level start             | [[https://forum.zdoom.org/viewtopic.php?t=69486][link]]        |\n|--------------------+--------------------------------------------------+-------------|\n| *Modules*          |                                                  |             |\n|--------------------+--------------------------------------------------+-------------|\n| [[file:modules/Hint.org][Hint]]               | hints for menu items                             |             |\n| [[file:modules/LazyPoints.org][LazyPoints]]         | points scoring                                   |             |\n| [[file:modules/libeye.org][libeye]] by KeksDose | level and screen projections                     |             |\n| [[file:modules/LispOnZscript.org][LispOnZscript]]      | toy Lisp-like language on top of ZScript         | [[https://forum.zdoom.org/viewtopic.php?t=80881][link]]        |\n| [[file:modules/MD5.org][MD5]] by 3saster     | MD5 Implementation in ZScript                    |             |\n| [[file:modules/PlainTranslator.org][PlainTranslator]]    | enables translation for plain text menu items    |             |\n| [[file:modules/PreviousWeapon.org][PreviousWeapon]]     | provides a key to select a previous weapon       |             |\n| [[file:modules/StringUtils.org][StringUtils]]        | string manipulation library                      |             |\n| [[file:modules/VmAbortReporter.org][VmAbortReporter]]    | prints a report when VM abort happens            |             |\n|--------------------+--------------------------------------------------+-------------|\n| *Development*      |                                                  |             |\n|--------------------+--------------------------------------------------+-------------|\n| [[file:add-ons/ClematisM.org][ClematisM]]          | ZScript unit test framework                      |             |\n| [[file:add-ons/DoomDoctor.org][DoomDoctor]]         | mod development and debugging utilities          |             |\n\nAdd-ons can be included and used in your own projects. However, this is not\nrecommended, because when add-ons update, players won't be able to use new versions\nwith your project until you update the included add-on inside your project.\n\nModules are intended to be included as a part of other projects. Some DoomToolbox\nadd-ons include them.\n\n* Gallery\n\n10.5x:\n\n[[file:media/screenshots/10.5x.png]]\n\nFinalCustomDoom:\n\n[[file:media/screenshots/FinalCustomDoom.png]]\n\nGearbox:\n\n[[file:media/screenshots/Gearbox-wheel.png]]\n\n[[file:media/screenshots/Gearbox-blocks.png]]\n\nHitImpact (with BTSX E1 MAP01):\n\n[[file:media/screenshots/HitImpact.gif]]\n\nSoundToScreen:\n\n[[file:media/screenshots/SoundToScreen.png]]\n\nTargetSpy:\n\n[[file:media/screenshots/TargetSpy.png]]\n\nTypist.pk3:\n\n[[file:media/screenshots/Typist.pk3.png]]\n\n* Help appreciated\n\n- playtesting: compatibility with games and mods, multiplayer\n- UX suggestions: visuals, wording, usability\n- code reviews: errors, style, readability\n- code contributions: optimizations, features (try to keep project scope)\n\n* Build\n\n[[file:documentation/WhereAreTheProjectFiles.org][Where are the project files?]]\n\nBuild is supported on recent versions of GNU/Linux and Microsoft Windows.\n\nTo build:\n1. Install Python, version \u003e= 3.13\n2. Install Emacs, version \u003e= 30.1\n3. Install UZDoom, version \u003e= 4.14.3\n4. Install development tools (probably from a [[https://docs.python.org/3/library/venv.html][venv]]):\n   ~pip install -r tools/requirements-dev.txt~\n5. In console in project directory, see what can be built with command:\n   ~scons --help~\n6. Build what you need.\n\nTo build an add-on PK3, for example FinalCustomDoom, use this command: ~scons\nFinalCustomDoom.pk3~. It will create FinalCustomDoom-NNNN.pk3 in directory ~build~.\n\nTo build a module so you can use it in your project, for example, ~StringUtils~, use\nthis command: ~scons StringUtils~. It will create directory ~StringUtils~ in\ndirectory ~build~, which will contain ~StringUtils.zs~, in which you can replace\n~NAMESPACE_~ with your unique namespace, and then include in your project.\n\nAll commands require that ~PATH~ environment variable has Emacs, tests also require\nUZDoom in ~PATH~. All commands put their results in directory ~build~, and may remove\nfiles and directories there.\n\n⚠ !WARNING!\n- Scons scripts contain code. Only run ~scons~ for projects you trust.\n- Org files may contain code, extracting the source files may execute it. Only\n  extract files from Org files from the sources you trust.\n\nTests use [[https://github.com/fragglet/miniwad][Miniwad]]: minimalist IWAD internally.\n\n* Development\n\nUsed languages:\n- add-ons, modules: ZScript (main), Emacs Lisp (supporting macros)\n- build: Python (main), Emacs Lisp (helper functions)\n\nPython or Emacs Lisp knowledge is not needed to contribute to add-ons and modules.\n\n[[https://prek.j178.dev/][prek]] must be installed in Git repository for pre-commit checks.\n\nOptional: Org mode extension for your preferred text editor, if it's not Emacs. Org\nmode files can be edited as plain text, but an extension should add convenience\nfeatures such as syntax highlighting.\n\nDocumentation:\n- [[file:documentation/CodeOfConduct.org][Code of conduct]]\n- [[file:documentation/CodeStyle.org][Code style]]\n- [[file:documentation/MadeWith.org][Made with]]\n- [[file:documentation/OrgCheatSheet.org][Org Cheat Sheet]]\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmmaulwurff%2Fdoom-toolbox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmmaulwurff%2Fdoom-toolbox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmmaulwurff%2Fdoom-toolbox/lists"}