The PyWeaponWheel is an addon that aims to be as compatible as possible with
any mod or IWAD. It grabs all weapon actors, selects the ones that fit a certain criteria, and organizes them into a lovely wheel. This process is detailed in the README located inside the pk3. Despite its efforts, however, sometimes undesirable weapons creep onto the wheel. That is where the PYWHEEL lump comes in.
The PYWHEEL lump contains a series of definitions for mods that don't play nicely with the wheel for any reason. The mod contains its own collection of premade definitions for mods that I play (or mods that were requested to be supported during development.) However, what if a mod is not covered by this existing list? Well, you can include a PYWHEEL definition inside your own pk3! The mod will parse through all available PYWHEEL lumps that it can find. The syntax and parsing are a bit too lenient and wonky at the moment, but the base support is there.
The PyWeaponWheel is great not only for normal play, but its also a great enhancement for gamepad play! No need to fumble with your buttons trying to find the right weapon for the job, as you can now just pluck it out of the wheel and blast away your opposition. The mod is in an early state, but I'm releasing it to gather feedback on how it performs with the base game, mods, and more.
= Known Issues: =
Anything other than weapons, monsters, and actors will not freeze when the weapon wheel is open, including ACS scripts and platforms/lifts.
PyWeaponWheel example addon - An example addon for potential creators to reference. This example in particular implements support for Brutal Doom by fixing weapon names, icons, and more.
Moderator edit: this mod stopped working properly with GZDoom 4.14. It would only ever show two weapon types in the wheel. Jaih1r0 posted a fix on page 6 of this thread. I am quoting it below to make it easy to find for anyone who wants to fix the mod themselves.
Jaih1r0 wrote: ↑Tue Feb 25, 2025 5:31 pm
This is actually really easy to fix for gzdoom 4.14, basically just go to the zscript/pyw/ev_core.zsc archive inside the pk3 and look for line 9 and change:
array<bool > wheelShow;
to
array<int> wheelShow;
(since the bool array no longer saves other values than 0 and 1, thats the reason it only displays two weapons in newer gzdoom versions)
It's a very straight forward fix. I have done it myself and confirmed it to be working. - Enjay
m8f wrote:It's a very neat concept and beautiful implementation.
I didn't find how to control the wheel with the keyboard. Is it gamepad/joystick-only?
Its intended to be controlled by holding down the weapon wheel key and moving the mouse around the wheel. What OS are you using? A bunch of people have been having problems with Linux, but I'm not sure why.
It was inevitable that this type of weapon select mod would show up, and I'm glad for it since this is the menu method I prefer. Now if only it came with a function to stop time when you open the menu....
Kyotra wrote:It was inevitable that this type of weapon select mod would show up, and I'm glad for it since this is the menu method I prefer. Now if only it came with a function to stop time when you open the menu....
It does, it's just slightly limited in what kind of things it can actually stop (GZDoom limitations, sadly).
I've confirmed this to work with Cola 3, and made steps to ensure that it looks good. I suppose later on, I'll look what things I can do with the pywheel lump, so I can see if I can change which ammo numbers are visible.