Git Product home page Git Product logo

gearbox's Introduction

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.

gearbox's People

Contributors

carrascado avatar generic-name-guy avatar mmaulwurff avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

gearbox's Issues

Gearbox v0.6.0 with LiTDoom VM Abort crashes on Survivalist and Scientist classes

When pressing the Gearbox inventory selection key, the game will crash with a VM Abort. This only happens on the Survivalist and Scientist classes. Space Marine and Doomguy classes work as intended. I'm going to stick with v0.5.1 until this is fixed. I have not tested v0.6.0 with other mods yet. I'm using GZDoom GLES v4.6.0b by the way.

Tip: MiseryDoomer is Survivalist Class, ScienceDoomer is Scientist class.
Screenshot_Doom_20210821_173901

Interfering with Dakka combo system

Submitted by Unregret:

I want to report a bug when using both this mod and Dakka weapon mod. If you switch weapon using intercept slot key; the score combo system of Dakka will stop working.

close menu automatically after a period of inactivity

Submitted by Enjay on ZDF:

In Red Faction, pressing a weapon key or scrolling the mouse wheel calls up the weapon selection system (like I said, very similar to Gearbox) and as long as you keep pressing weapons keys, or scrolling around the list, it remains active. However, if you stop doing anything related to weapon selection (e.g. just keep running around - the game does not pause when the selection is open) after a few seconds (seems like about 5) the weapons select box cancels itself and you just go back to full game control with the weapon that you already had selected.

And expanded by thugsta:

Can you make it after you have selected for it to take over your weapon scrolling keys, can you make it (maybe with a timer select) that scrolling in block mode will pick that weapon you left it idle on?

Options:
Timeout - slider, seconds.
Behavior - do nothing, close menu, select item.

Check if Gearbox is closed by attack button in Delta Touch

Submitted by Proydoha via Discord:

Попробовал использовать его в DeltaTouch - могу стрелять с открытым колесом, оружие не выбирается. Скорее всего Дельта как-то не так "стреляет" в отличие от ПК.

mouse enabled in Wheel blocks mouse input in Blocks

Submitted by Someone64 via Discord:

is there any way to stop gearbox from preventing me from moving my camera in blocks mode when the weapon menu is open?
nvm, if you go to the wheel options and uncheck enable mouse input, it fixes blocks mode
it's really strange, though that it does that
though i don't really see the point of disabling camera movement in general since the mouse isn't really used at all in blocks mode

VM Abort: Array access out of bounds. Negative current index = -1

Happens randomly while playing, seems to come from manipulating weapons in/out of my backpack in Hideous Destructor. However, when trying to mess with just HDest & Gearbox in the firing range, I can't seem to replicate it? Taking a look at the method there's a few array indices being accessed, I'm guessing one of those is returning a -1 which throws the error, I just don't know which one or why it's happening

Here's my Zabor Screenshot, in case it helps. I'll post my findings here should I be able to reproduce it with less mods.
Screenshot_Doom_20230225_104029

Add joystick support so gamepads and VR controllers can select weapons

I tried this with GZDoomVR, but it seems like the only way to select a weapon in the wheel is using the mouse (which translate to look around when using VR, and it doesn't really work because of the amount you have to look around) or the weapnext/weapprev keys.

It would be nice if it could be possible to hold a button, use a stick on a controller to quickly select a weapon and then let go of that button to select a weapon. Kind of like the weapon wheel works when playing GTA V or RDR2 with a controller.

Suggestion about separate weapon slot wheels

Is it possible to add option to show only wheel for weapon slots when weapon slot key is pressed, not entire wheel? I mean, lets say, if "weapon 6" key pressed - show slot 6 weapons in the center wheel without other slots showing, and if pressed "weapon 4" key - show slot 4 weapons and hide slot 6. This will be wery useful for mods with lots of guns in the same slot, like "God complex" etc.

SWWM GZ - two Explodium guns are selectable

Submitted by Someone64 via Discord:

you can pick dual wielding pistols by pressing the number keys (i have open wheel on number keys on)
even if you don't have them
and if you do so, you can't fire one of them

custom menu?

Using services to collect information and call functions in mods.

Frozen solid

I found an interesting bug: Entering a new map with the weapon wheel open will cause all your movement to be stuck

I don't think this is a really big issue, only would happened if you'd like use the console to change maps but I figured I should let you know anyway

Add an option to make gear wheel selections press specific inputs

What I'd like to be able to do is assign an in game input to the gear wheel and be able to name that gear wheel entry with custom text. This would allow me to play things that require many inputs on setups with less inputs, such as enabling Hideous Destructor's more intricate functionality in GZDoom VR.

Essentially, I want to be able to create an alternate input tree from one button that can be selected with an analog stick on a controller while holding another button and letting go when I select that input. So say I wanted GZDoom to register me pressing the H button on my keyboard, I could assign an input that calls upon the H key but I can name it like "Taunt" or "Remove Armor" or something.

velocity after freezing is restored even if freezing is off

Submitted by Someone64 via Discord:

if you move, then freeze the game then unfreeze
then go to the options, then turn off freezing from gearbox
it happens
so it seems that it restores your velocity even if it doesn't need to since it's off
whatever direction you last flew since you last used gearbox's freeze feature is where you move

tap/hold usage of inventory items

Submitted by ShockwaveS08 on ZDF:

  1. Quick-tap of inventory wheel button: use currently-selected item
  2. If held for longer than a specified (configurable) duration, bring up the wheel without using an item

This sort of thing would greatly benefit not just gamepad users on desktops, but also gamepad users on Delta Touch.

add new view: Grid

All weapons are on screen, aligned to a grid. Take weapon boxes from Blocks view?

Using the familiar ball from DRLA Extended doesn't work on Gearbox

When playing DRLA Extended, Familiar Balls don't work when using the inventory wheel. This happened when I was playing DRLA+DRLAX+DRPG.

Basically when you use the item, similar to other DRLA items you must use it twice but using it twice with the inventory wheel treats it like you've only used it once. I tried using GZDoom's default inventory binds (just next and previous item and pressing the use item button) and it summoned a familiar just fine after the second press.

Screenshot of the bug happening

Enemies not freezing on Project Brutality 3.0

I’ve tried your current weapon wheel version along with some older ones on Project Brutality 3.0 and when I try to turn the option on for freezing both player and enemies, the enemies continue to fire at me. I’m using the current gzdoom 4.5 and I have tried this weapon wheel on 2 different Project Brutality 3.0 branches. I tried your weapon wheel on Brutal Doom v21 and it was able to freeze both me and the enemies but it will not freeze the enemies on Project Brutality. Hopefully you can give me some insight into why this isn’t working. Thank you!

option: reverse order for blocks columns

Submitted by ghostboy1225 on ZDF:

is there some way we could see bucket styled layout inverted as an option to allow those wanting HL style weapon buckets. currently you start at the bottom of the bucket and make your way up rather than starting at the top and working your way down like in HL. great mod works pretty good with HD.

Weapon names aren't readable

Text underneath my weapon wheel to show what weapon is selected is way too small to easily read. In GZ Doom's UI scaling settings, is there a specific element that I should be changing the size of to make the font larger?

make wheel usable with no freelook

Submitted by omxgamer127 on ZDF:

Hi can u create an horizontal version for people who use ""always mouselook" like me
Horizontal mouse look only is more charming, it also makes older wads and (mods without alt zoom weapons) feel better for me

Check options, translate horizontal position to angle?

Detect starting items DRPG

Someone64:

just found out that the inventory menu of weaponmenu+ doesn't work on doomrpg with drla. you can have items in your inventory but it will just detect them as non existent. so you're forced to use vanilla inventory buttons instead.

okay that was really strange... i pressed left click with inventory menu open to use the armor
and it used the skull item instead even if it wasn't present in the menu. i guess it just acts as the use item button...

https://gfycat.com/GrizzledWaryArrowworm

might have something to do with starting items. as for whatever reason, starting in DRPG will sometimes give you a random item. so for whatever reason, inventory menu didn't detect the item because of the way it was given to me?

because now it's working properly. i can see skulls and stuff like that in my inventory.

`GZDoom 4.6.1` | `Gearbox 0.6.0` Getting a VM abort for `wheel` and `block` selector types when running with Hexen/Heretic only and selecting inventory items.

Hello,

Plain text selector for inventory items and weapon selection for all selector types seem to be working as expected. Here’re the screenshots of both aborts: 1) wheel; 2) block. Both selectors work when there’re no items in the inventory, but then immediately throw when there’s at least one and I try to open Gearbox to select something. Tried give all to see how it behaves with full inventory and it also throws at the same lines.

Thank you for your time.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.