Skip to content

Gearbox is an add-on for GZDoom engine that provides more convenient ways to select weapons.

License

Notifications You must be signed in to change notification settings

mmaulwurff/gearbox

Repository files navigation

Gearbox

Gearbox is an add-on for GZDoom engine that provides more convenient ways to select weapons and items.

This mod is a part of m8f's toolbox.

Blocks with Treasure Tech

(Blocks with Treasure Tech)

Wheel with Heretic

(Wheel with Heretic)

How to Use

GZDoom 4.5 required.

  1. open the menu by assigned key, or by next/previous weapon keys, if enabled in options
  2. select the weapon with next/previous weapon keys, or with mouse (wheel only)

Features

  • Different representations: blocks, wheel, plain text
  • Press Fire key to select and Alt Fire key to cancel
  • Color and scale options
  • Behavior options
  • Multiplayer compatible
  • Reaction to number keys
  • extras.wad icon support for vanilla weapons
  • Inventory item selection

Planned

  • Patches for weapon icon adjustments
  • More representations
  • Moving weapon between slots and changing order

Note for Weapon Mod Authors

If you want Gearbox to support your mod out of the box, assign Inventory.AltHudIcon for your weapons! Tag property is also nice to have.

Compatibility Issues

  • PyWeaponWheel v0.3 overrides time freezing. If you are using both mods and want to freeze time with Gearbox, set PyWeaponWheel's option "Freeze when wheel is open" (py_weaponwheel_freeze CVar) to Off.

    Note that PyWeaponWheel may be built in some mods, for example in Project Brutality. The solution is the same: disable time PyWeaponWheel's time freezing.

Known Issues

  • Weapon icons in wheel aren't affected by "HUD preserves aspect ration" option.
  • Mouse input in wheel in multiplayer causes screen shake.

License

Acknowledgments

  • Thanks to kadu522 for general help and support.
  • Blocky view is designed to resemble the weapon menu from Half-Life by Valve.
  • Thanks to Marrub for ZScriptDoc.
  • Thanks to Talon1024 for help with time freezing option.
  • Thanks to Player701 for help with key event processing code.
  • Thanks to KeksDose for a concept of VM abort handler.
  • Thanks to DrPyspy for allowing to use mouse input code from PyWeaponWheel.
  • Thanks to Carrascado for bug fixes and new features.
  • Thanks to Accensus, Proydoha, mamaluigisbagel, TheRailgunner, Captain J, Enjay, StroggVorbis, krutomisi, Cutmanmike, StraightWhiteMan, JohnDoe8, HDV, Zhs2 and Apollucas for feature suggestions.
  • Thanks to Accensus, Proydoha, mamaluigisbagel, Ac!d, wildweasel, Dark-Assassin, rparhkdtp, Samarai1000, Mr. Blazkowicz, lucker42, spectrefps, Someone64, Lippeth, JMartinez9820, generic name guy and sebastianpanetta for bug reports.
  • Thanks to generic name guy for providing brazilian portuguese localization.
  • See also credits list.