NOTE If you want to report a bug or otherwise need to make sure I am aware or something, send me a message (instead of leaving a comment). I don't get notified of comments, so otherwise I may not see your message for awhile.
This mod was inspired by Loismustdie555's weapon wheel mod for Project Brutality. The original intention was to modify the wheel to be more 'joystick-friendly', but as I didn't have access to the original source, I wound up rewriting the entire wheel from scratch (though I certainly stole some graphics from this mod, for which it seems that DoomNukem deserves credit).
Weapon Wheel v1
Summary
This mod was inspired by Loismustdie555's weapon wheel mod for Project Brutality. The original intention was to modify the wheel to be more 'joystick-friendly', but as I didn't have access to the original source, I wound up rewriting the entire wheel from scratch (though I certainly stole some graphics from this mod, for which it seems that DoomNukem deserves credit---see this thread).
How to use
There are two files included: Weapon Wheel.pk3 and Weapon Wheel - Template.pk3. The former is the actual mod and the latter is for other modders who want to adapt this to their own own (see "For modders" below).
Out of the box, there should be compatibility with vanilla (Z)Doom (so hopefully GZDoom and Zandronum, as well), Freedoom, Heretic, Blasphemer, Hexen, Strife, Chex Quest, Chex Quest 3, Action Doom 2: Urban Brawl, Harmony, Hacx, The Adventures of Square, Brutal Doom, the Doom 2016 Weapons Add-on Pack, the Brutal Pack, Project Brutality, Smooth Doom, Complex Doom, the LCA add-on for Complex Doom, Trailblazer, Zion, Russian Overkill, Simple Strife, Death Foretold, Doom 64, Brutal Doom 64, and Strife Uncut. (To clarify, the same file should work for all.) As a rule of thumb, in order to ensure compatibility with other mods, you should load Weapon Wheel.pk3 after other game-play mods.
-There is also compatibility with the pipe-bombs and satchel charges of the UAC Survival Pack, the sledgehammer, the lightning gun, and the Unmaker. You will need to enable these before you begin playing in the "Optional weapons" submenu. If you change this in game, you will need to restart before changes take effect.
The Weapon wheel options menu can be found in OPTIONS->GAMEPLAY OPTIONS->WEAPON WHEEL OPTIONS.
Upon loading up, go into controls and bind a key to the weapon wheel (by default, this is rshoulder, the default in Doom (2016)). You can also bind keys to "Rotate clockwise" and "Rotate counterclockwise" if you plan to use the wheel in rotate mode. You can then customize the wheel to your liking in the options menu. Make sure to set "Invert" to agree with your usual preference (unfortunately, to the best of my knowledge, there is no way to get a user's joystick inversion preference using ACS, so you have to tell the wheel yourself). You should now be good to go.
Features
- Weapon wheel compatible with vanilla (Z)Doom (GZDoom and Zandronum), Freedoom, Heretic, Blasphemer, Hexen, Strife, Chex Quest, Chex Quest 3, Action Doom 2: Urban Brawl, Harmony, Hacx, The Adventures of Square, Brutal Doom, the Doom 2016 Weapons Add-on Pack, the Brutal Pack, Project Brutality, Smooth Doom, Complex Doom, the LCA add-on for Complex Doom, Trailblazer, Zion, Russian Overkill, and Simple Strife.
- Item wheel for selecting/using inventory items.
- For Brutal Doom, the wheel works in any mode (including Classic).
- For Project Brutality, the wheel works in any mode (including Classic v20b and Traditional).
- There are three time modes: stopped time, slowed time, and normal time. The first effectively pauses the game while the wheel is up, the second slows time down, and the last doesn't effect the time flow at all.
- Change between toggle/hold.
- Option to have tapping the weapon wheel button reverts to previous weapon (like in DooM 2016)
- Displays weapon names (with an option to toggle this off).
- Displays ammunition for each weapon on the wheel (with an option to toggle this off).
- Can display a slot for all possible weapons or only those weapons you possess With fewer slots, the wheel can be easier to use, but the positions of the weapons will change as you acquire new ones. Thus, both choices have their pros and cons.
- Can dynamically resize the wheel depending on how many slots are shown (only relevant if you're only displaying a slot for weapons you currently possess).
- Customize the size of the wheel to your liking.
- Cursor mode, similar to Loismustdie555's mod. IMHO, the use of a weapon wheel really shines only with the use of a joystick/controller, but this makes it convenient to use with a mouse as well. (Of course, you can use cursor mode with a joystick or vice-versa, but that's not what it was designed for.)
- Rotation mode, similar in functionality to this mod, but with a wheel. Added due to suggestions from multiple people.
Example game-play
Disclaimer
I have play-tested / bug-tested myself, but there are almost certainly bugs that remain. v1 should certainly be considered a beta release. Please let me know if you find any bugs, or otherwise have suggestions for improvement.
For modders
The mod was designed to be easy to modify to make work with pretty much any set of weapons. If you would like to change the wheel to work with a custom weapon set, you should modify Weapon Wheel - Template.pk3. You need to do two things (i) add graphics to represent your weapons on the wheel and (ii) modify weapon_list in /SCRIPTS/WEAPONLISTS.acs
For the graphics, simply dump all your icons into the GRAPHICS lump of the .pk3 (of course, you can organize them in subdirectories as you like). Be careful to watch out for (i) name conflicts and (ii) that the file names must be eight characters or less (see the ZDoom wiki). It is probably a good idea to use the Spawn sprite for this purpose (though you may need to resize it first to fit on the wheel---it should probably be smaller than 70x45 pixels). Also, be sure that the offset in SLADE is set to (0,0), or else the sprite won't be centered.
In WEAPONLISTS.acs, you must properly initialize weapon_list. To initialize weapon_list, you can either simply write "weap OF WEAPONS GOES HERE]", or if you need to do something more complicated (e.g., for PB, I needed to check whether the player was playing Project Brutality mode, Classic v20 mode, or Traditional mode), you properly initialize weapon_list in the function initialize_weapon_list().
Either way, the final format of weapon_list should be as follows. It is a doubly-indexed array, which should contain an entry for each weapon, each of these entries in turn consisting of five pieces of data: the class weapon name, the name of the graphic for the weapon you placed in the GRAPHICS lump, the display name of the weapon, the name of the ammo used for the weapon, and the name of the ammo used to represent how much ammunition is currently loaded in the gun. The first entry is required but the latter four can all be set to "NONE" if you don't want to make use of them.
Finally, if you would like to have more mod-specific custom interactions with the wheel, you can put code in update_weapon_list() and update_weapon_list_wheel_on()---these functions are in a whilte(true) loop and so will be called every tic.
In summary, dump your weapon icons in the GRAPHICS lump and properly initialize weapon_list in /SCRIPTS/WEAPONLISTS.acs. With even the most modest amount of modding experience, from the explanation here, code comments, and looking at the examples in Weapon Wheel.pk3 and Weapon Wheel - Template.pk3, it should be pretty obvious what to do.
Don t forget to recompile WEAPONLISTS.acs!
A similar procedure applies if you would like to add support for a custom set of inventory items---see /SCRIPTS/ITEMLISTS.acs.
(I should also mention that it's not that complicated to incorporate your mod into Weapon Wheel.pk3 itself, but you will need to study the code in the 'official' WEAPONLISTS.acs to see how to do this. In contrast, modifying Weapon Wheel - Template.pk3 is easy enough you don't really even need any modding experience to do it.)
Finally, you should feel welcome (and encouraged!) to port this into your own mods.
Credits
- Original idea due to Loismustdie555.
- Graphics due to DoomNukem
- PA1NKI113R for Project Brutality
- Sergeant_Mark_IV for Brutal Doom
- Sergeant_Mark_IV for the Doom 2016 Weapons Add-On Pack
- JTC3 for the Brutal Pack
- Gifty for Smooth Doom
- Daedalus for Complex Doom
- Pillowblaster and DoomNukem for Trailblazer
- SAHZALPABAEL for Zion
- PillowBlaster for Russian Overkill
- TheUnbeholder for Simple Strife
- DBThanatos for Death Foretold
- Sergeant_Mark_IV for Brutal Doom 64
- Zaero for Strife Uncut
- Merser433 for Merser's Sprites and Enhancements
- Barge for the sledgehammer
- Barge for the lightning gun
- Barge for the Unmaker
- saegiru for the UAC Survival Pack
- saegiru for the UDV HUD
- nidorb99 for flashlight sprite
- id Software for Doom
- Mike Swanson, Catoptromancy, Jim McDougald, Simon Howard, Jon Dowland, and Captain Mellow for Freedoom
- Raven Software for Heretic and Hexen
- Egregor and Springy for Blasphemer
- Rogue Entertainment for Strife
- Digital Cafe for Chex Quest
- Charles Jacobi for Chex Quest 3
- Scuba Steve for Action Doom 2: Urban Brawl
- Thomas van der Velden for Harmony
- Banjo Software, Xaser, and Blzut3 for Hacx
- BigBrik Games for The Adventures of Square
- Graf Zahl for GZDoom
- Randy Heit for ZDoom
- The Zombie Killer for ACS-X
- Other original code due to Stan423321, Zhs2, PillowBlaster, The Zombie Killer, and Nash
- Ammo font due to Kinsie / id software
Changelog
- 1.54: Updated compatibility for BD v21 beta.
- 1.53: Added support for Strife Uncut. Adjusted placement of ammunition count.
- 1.52: Fixed compatibility bug with PB 3.0. Fixed compatibility for GZDoom 1.8.6.
- 1.51: Added compatibility for the PB 3.0 axe.
- 1.50: Added compatibility for BD v21 beta. Fixed PB 3.0 bugs involving weapon upgrades.
- 1.49: Disabled side-stepping in Trailblazer while wheel is up in "stopped time" mode. Fixed potential bug.
- 1.48: Disabled side-stepping in PB 3.0 while wheel is up in "stopped time" mode.
- 1.47: Updated compatibility for Russian Overkill 2.5.
- 1.46: Fixed bug with PB 3.0 compatibility (the demon morph runes). Recalibrated joystick nonrecenter mode.
- 1.45: Added UDV's flashlight, EMS, and radar to inventory wheel (can be disabled).
- 1.44: Added option to disable PB grenades and mines with the inventory wheel.
- 1.43: Weapon sway in PB 3.0 is now disabled when the wheel is up under certain settings.
- 1.42: Fixed small bug with inventory sprites.
- 1.41: Added inventory item wheel. Added compatibility for PB 3.0 test version. Added compatibility for Merser's Sprites and Enhancements. Updated compatibility for LCA v1.5.9.2. Updated compatibility for Trailblazer v1.4a. Updated compatibility for Doom 2016 Weapons Add-on pack (to V2b). Fixed small bug in case there was only one weapon. Fixed revenant launcher sprites. Added "UsingWeaponWheel" for mod detection in other mods.
- 1.40: Updated for compatibility with Brutal Pack V9.
- 1.39: Fixed Zandronum compatibility and cleaned up code (thanks to saegiru for this).
- 1.38: Fixed compatibility with UDV 2.11. Updated compatibility with JP's Mini Mods. When the wheel is up, in stopped time and slowed time modes respectively, damaging floors no longer deal damage and deal damage more slowly.
- 1.37: Added support for (a version of) Doom 64 and Brutal Doom 64
- 1.36: Updated for compatibility for UDV v2.11. Fixed small bug with Death Foretold compatibility.
- 1.35: Fixed bug with rotation animation.
- 1.34: Updated for compatibility with Death Foretold v2.0.
- 1.33: Added support for Death Foretold.
- 1.32: Changed behavior of cursor mode if selection dot is enabled
- 1.31: Enabled Doom 2016 style selection dot in cursor mode
- 1.30: Updated sound effect. Added option to disable open/close animation. Fixed lag on wheel close.
- 1.29: Made compatible with JP's Mini Mods. Fixed satchel sprites.
- 1.28: Fixed bug where wheel couldn't select all weapons if there were sufficiently many
- 1.27: Added support for Russian Overkill
- 1.26: Bug fix for D-Touch
- 1.25: Added the ability to rotate the wheel in any mode. Added support for the Doom 2016 Weapons Add-on Pack. Added support for the Brutal Pack. Upgrading weapons in PB now changes the names/sprites/ammo on the wheel. Fixed the optional weapon support for Brutal Doom. Fixed small bug where +nextweap +prevweap would not work correctly with the wheel up. Tried to smooth joystick movement a bit.
- 1.24: Added support for D-Touch. Added option to not have joystick automatically recenter (like in Doom 2016). Added optional selection dot for use in joystick mode. 'Smoothed' cursor/joystick movement at outer radius of wheel.
- 1.23: Fixed bug with revenant transformation. Fixed bug where ammo close to zero, but not actually zero, displayed as black.
- 1.22: Fixed bug where the wheel was not reenabled after respawning.
- 1,21: Added Zion support. Added Simple Strife support. Added option to have tapping the weapon wheel button revert to previous weapon. Fixed bug where the revenant rune in PB would not close the wheel. Fixed bug that made the laser sight on the rocket launcher in PB break the game. Fixed bug where changing the "Firing closes wheel" option with the wheel up would not take immediate effect. Redid slowed time effect. Added wheel animation.
- 1.20: Added option to have firing close the wheel. No longer display slot for SSG in Doom I (this also applies to Smooth Doom and Brutal Doom Classic). Now hides 'cheat' weapons (i.e. those marked with the flag +WEAPON.CHEATNOTWEAPON), unless the player 'happened' to pick them up. No longer display slot for rifle in Smooth Doom unless the player has this turned on. Disabled wheel when 'revenant-cursed' in Project Brutality. Updated credits Cleaned up code Slowed player down in slowed time mode. Using the rotate wheel buttons now automatically puts you into rotate mode Added default binds for the rotate wheel keys No longer have to restart level to change optional weapons settings.
- 1.19: Added Freedoom, Blasphemer, and Harmony support.
- 1.18: Added Action Doom 2, Hacx, and The Adventures of Square support.
- 1.17: Added Chex Quest (3) support. Added support for Trailblazer. Updated Credits. Cleaned up code.
- 1.16: Forced normal time in multiplayer. Updated credits. Added Heretic, Hexen, and Strife support. Added Brutal Doom support. Changed default settings. 'Dims' weapons that are out of ammo. Fixed Zandronum compatibility. Fixed Complex Doom weapon_list. Added support for LCA add-on to Complex Doom.
- 1.15: Fixed weapon order for PB Classic v20. Added support for the sledgehammer and the Unmaker.
- 1.14: Minor bug fix. Slight menu changes.
- 1.13: Consolidated all versions into one. Fixed PB Traditional sprites. Converted to GDCC. Cleaned up code. Updated credits. Reorganized menu. Calibrated dynamically resizing of HUD. Added support for pipe bombs and satchel charges. Added support for the lightning gun. Added option to display weapon names.
- 1.12: Added version for Complex Doom. Calibrated dynamically resizing of HUD.
- 1.11: Actually slows player speed in slowed time mode. Actually slowed down firing rate in slowed time mode. Added additional sound effect for when selection changes. Added 'heartbeat' sound effect in slowed and stopped time modes. Calibrated cursor slightly. Added (optional) green filter in slowed and stopped time modes. Cleaned up code. Fixed warnings. Added default bind for weapon wheel key.
- 1.10: Added option to change sound effect volume.
- 1.09: Added ability to click (+attack) to select weapon in stopped time or cursor mode. Cleaned up code.
- 1.08: Added support for Doom 64 sprites in Smooth Doom
- 1.07: Bug fix.
- 1.06: Bug fix.
- 1.05: Added sound effects. Minor bug fix.
- 1.04: Added "rotate" mode (for mouse wheel). Cleaned up code.
- 1.03: Test upload
- 1.02: Updated credits
- 1.01: Fixed bug that required UDV
- 1.00: Initial release
hi man i was thinking could you redesing weapon icons for pb so they are arranged in more than one circle? i mean one big circle with a smaller one within, that would help with size a bit, also the icon for satchel charges is incorrect the one displayed is pipebomb detonator
How would this work in joystick or rotate mode? I don't understand how you could have two circles on the screen simultaneously and still make weapon selection unambiguous.
Thanks for letting me know about the satchel sprite btw. I fixed it and it will be in the next update =)
well how about if you change layers with double up/down tap for joystick?
and for rotating mode you could make it so it spins one position in big circle and next in small one and again back in big one
but if is too much trouble how about making it an option for cursor mode only or a separate file?
What do you think about this. I was considering having an option which has it so that first a wheel is brought up with an entry for each slot (so 0, 1, 2, etc.), and then upon selecting one of those entries, a new wheel is brought up that only contains the weapons in that slot.
This will have the effect that significantly fewer icons are on the screen at the same time, but it also has the property that there is only one wheel up at a time (so there would be no selection ambiguity).
Would this effectively accomplish something like you had in mind?
yes it would, but here is how i would picture what you say, when your are over a slot icon another circle with possible options for that circle are displayed in the background so you can see what's inside without gettin in there, if you get inside the slot then there should be an effect that brings up weapons icons while putting slot icons in the background and in order to return to slot icon you could set an icon at upper left/right like the one in game option to go back, what you think?
Yup, that sounds good. To return to the slot icon, I would probably have it just set up so that any "close wheel" action that doesn't actually select a weapon would instead just return to the slots.
Just so you know though, this will take *a long time* to implement, and as school starts next week, I may not actually be able to do this for several m
don't worry man, knowing you'll implement this one day is enough, take your time and good luck with school
For the first time in awhile, I have some extra free time. Are you still interested in such a feature? It could well take a lot of work and I don't think it'd be worth it to add if you don't have a need anymore.
ACS: I don't know what 'det_satchelcharge' is.
ACS: I don't know what 'det_pipebomb' is.
gzdoom-x64-g2.2pre-1752-gaf20f31
Hm. What mods are you loading, if any, with Weapon Wheel.pk3? Also, what makes this display? Does it display on start-up, or only when you do something?
Also, does this happen with GZDoom 2.1.1?
P.S.: Sorry about taking so long to respond to this. Didn't get notified for some reason . . .
Wait a sec... isn't this the same kind of wheel and wheel icons used in Guncaster?
It is. I believe PillowBlaster said that DoomNukem deserves credit for the graphics. This should be in the Credits.txt file.
Thank you for this mod. it works wonders when I'm using a controller to play.
Any possibility you could get this working for D4D?
I now finally have some free time to add this feature, however, it seems as if the author of D4D has taken the file down. Can you point me to the mod that you are referring to?
I got a virus warning. I wanted to try this mod but I'm going to pass for now.
Imgur.com
I had this as well, but if you select the download from a mirror the warning doesn't popup
it's not a virus. I can confirm
I hope you don't mind me asking for another compatibility update, for it seems this doesn't work for d4d mod. Also a quick observation(could just be me) but does it seems that when rotating to the right or left it seems to then show the weapon in the other direction? ex: Shotgun on right pistol on left, rotates right but then selects pistol?
I now finally have some free time to add this feature, however, it seems as if the author of D4D has taken the file down. Can you point me to the mod that you are referring to?
Ya they moved to github,
Forum.zdoom.org
Also the original creator decided to make a new mod I'd love compatability for if you don't mind. Though again don't wanna impose on you.
Its called d4t I'll include a link to it as well,
Moddb.com
Did you still want compatibility for D4D? I tried downloading it, but ran into some errors. This might be able to be fixed by using different versions of GZDoom (I'm using 3.0.1 64-bit). Any idea how to fix this / do you still want compatibility for D4D?
Honestly, not really sense the way they are developing it now it usually changes every 3-5 days. Though thanks for doin death foretold :D
Newest version should work now with Death Foretold. Let me know if you find any bugs =)
No need for a weapon wheel if I'll use this in normal doom 2.
You should have the game slow down when the wheel is up like in doom 4
This is an option you can set. In fact, there are three choices: stopped time, slowed time, and normal time. The options menu for the weapon wheel mod should be under "GAMEPLAY OPTIONS".
This is truly awesome.
The only thing I REALLY wish this mod had was the ability to use joystick mode with a mouse in a smooth manner. Joystick mode has everything I like - no on-screen cursor as well as directional prediction - but mouse input is not read accurately by it at all. Perhaps if "cursor sensitivity" could affect the sensitivity of the selection in joystick mode that might help. I want to be able to open up the wheel, slightly move my mouse in any direction, and have the weapon closest in alignment to that direction selected. As of right now, joystick mode is way too inaccurate/jumpy with a mouse and cursor mode forces you to move a separate pointer all the way over to the bubble you want which is a real bummer. I'm stuck with cursor mode right now, but if you could find a way to make joystick mode smooth with a mouse this mod would go from amazing to perfect. I understand that joystick mode isn't meant for mice, but I like joystick mode the best purely in terms of how it functions.
With that one specific complaint aside, nice ******* work dude.
I changed the behavior of cursor mode if the selection dot is enabled to hopefully behave something like you have in mind. Just make sure you are in cursor mode and enable the selection dot, and hopefully it works as you intended.
Hi, when I died during a level and load a savegame, the circle dissapear and I had a message like "Script divided by zero". This occurs when I load UDV and project brutality on gzdoom 2.3
Can you provide more detail as to how to reproduce this error?
- snip -
Hey man I need some help. I'm trying to add a weapon wheel to D4D, but I get a lot of errors when I try to compile:
Line 1 in file "C:\Users\Mario\AppData\Local\Temp\ SLADE3\DEFS.acs" ...
C:\Users\Mario\AppData\Local\Temp\ SLADE3\DEFS.acs:1: #library must come before anything else.
> #library
> ^
C:\Users\Mario\AppData\Local\Temp\ SLADE3\WWFUNCTIONS.acs:3: Invalid directive.
> #pragma
> ^
C:\Users\Mario\AppData\Local\Temp\ SLADE3\WWFUNCTIONS.acs:4: Invalid directive.
> #pragma
> ^
C:\Users\Mario\AppData\Local\Temp\ SLADE3\WWFUNCTIONS.acs:158: Invalid return type.
> function fixed
> ^
C:\Users\Mario\AppData\Local\Temp\ SLADE3\WWFUNCTIONS.acs:158: Invalid variable type.
> function fixed absfixed (fixed
> ^
C:\Users\Mario\AppData\Local\Temp\ SLADE3\WEAPONWHEEL.acs:3: Invalid directive.
> #pragma
> ^
C:\Users\Mario\AppData\Local\Temp\ SLADE3\WEAPONWHEEL.acs:4: Invalid directive.
> #pragma
> ^
C:\Users\Mario\AppData\Local\Temp\ SLADE3\WEAPONWHEEL.acs:38: Invalid declarator.
> fixed
> ^
I'm using the latest ACC version (1.55). This is my list:
{
// {actor name, sprite name, display name, total ammo name, ammo-in-weapon name},
{"D4DFist", "NONE", "Fists", "NONE", "NONE"},
{"D4Chainsaw", "WPPKA0", "Chainsaw", "NONE", "NONE"},
{"D4Pistol", "WPPKB0", "Pistol", "NONE", "NONE"},
{"D4Shotgun", "WPPKC0", "Shotgun", "D4Shells", "NONE"},
{"D4SuperShotgun", "WPPKD0", "Super Shotgun", "D4Shells", "NONE"},
{"D4Repeater", "WPPKL0", "Repeater", "D4Bullets", "NONE"},
{"D4AssaultRifle", "WPPKE0", "Assault Rifle", "D4Bullets", "NONE"},
{"D4Chaingun", "WPPKF0", "Chaingun", "D4Bullets", "NONE"},
{"D4RocketLauncher", "WPPKG0", "Rocket Launcher", "D4Rockets", "NONE"},
{"D4PlasmaRifle", "WPPKH0", "Plasma Rifle", "D4Cells", "NONE"},
{"D4VortexRifle", "WPPKM0", "Vortex Rifle", "D4Cells", "NONE"},
{"D4BFG", "WPPKI0", "BFG", "D4BFGAmmo", "NONE"},
{"D4StaticRifle", "WPPKK0", "Static Rifle", "NONE", "NONE"},
{"D4LightningGun", "WPPKN0", "Lightning Gun", "D4Cells", "NONE"},
{"D4GaussCannon", "WPPKJ0", "Gauss Gun", "D4Cells", "NONE"},
{"D4CarrionCannon", "WPPKO0", "Carrion Cannon", "D4Carrion", "NONE"}
};
Do you know what's the problem?
Also, I have another problem. I can't select anything that is directly up or down. The rest of weapons work fine. I saw someone else reporting the same thing, and he said it happens when you use give all, but I'm not using any commands and the problem still exists. This happens with joystick, I haven't tried mouse or wheel. Do you know what's the problem?
Oh nevermind, I had to use GDCC. Now it compiles BUT it's not working anyway. I mounted D4D with the new weaponwheel file but the wheel doesn't show any weapons. It's empty :/ I don't know what I'm doing wrong.
EDIT: Nevermind x2, I had to put the weapons in weapon_list_custom. Anyway, the problem with up and down selection still exists. The selection dot dissapears when I move the joystick to the up and down quadrants. Any idea of why that happens?
Ctrl+F "ww_displaydot" in WEAPONWHEEL.acs to find the unique line that references this CVAR. There, you will see that it is almost certainly a problem with "outside_deadzone". Ctrl+F "outside_deadzone" and you will see that this is changed on only one line of code, which references, among other things, "magntiude" and "DEADZONE". I would recommending printing the values of "magnitude" and "DEADZONE" while playing to help see what the problem is.
Look just a couple lines above to see the definition of DEADZONE. You will find that there are several factors that I found experimentally (the "3/5", the "4/3", and I believe the "2" in the definition of DEADZONE itself). (I believe I recall I had this exact same problem once, and I fixed it by playing with these values.) Of course, the values there should ideally work for everyone, so you should let me know what you find if you can fix this.
If you'd like me to try to debug this myself, you'd have to let me know exactly what to do to reproduce this (so at the very least what mod you're running and number of weapons you have).
Hey dude! I want to add two weapons to the wheel, The excavator from pb 3.0 and the m50 sniper rifles from a mod.
Sadly I can't get Slade to work on my pc. Would you kindly make this for me?
{"Excavator", "NONE", "Excavator", "HighExplosiveGrenadeRounds", "ExcavatorRounds"},
{"M50", "NONE", "M50 Sniper Rifle", "SniperRound", "M50Ammo"},
I can't compile this... I've never modded doom and I don't know what I'm doing wrong.
Line 3 in file "C:\Users\Popeye\AppData\Local\Temp\SLADE3\WEAPONLISTS.acs" ...
C:\Users\Popeye\AppData\Local\Temp\SLADE3\WEAPONLISTS.acs:3: Invalid directive.
> #pragma
> ^
C:\Users\Popeye\AppData\Local\Temp\SLADE3\WEAPONLISTS.acs:4: Invalid directive.
> #pragma
> ^
C:\Nueva/acsx.h:6: Invalid directive.
> #pragma
> ^
C:\Nueva/acsx.h:7: Invalid directive.
> #pragma
> ^
C:\Nueva/acsx_import.h:8: Syntax error in constant expression.
> #libdefine ptr int
> ^
C:\Nueva/acsx_import.h:9: Invalid declarator.
> #libdefine ptr_cast(t)
> ^
Hey man,
I will be able to add this myself in the future, but am quite busy with real life at the moment. If you'd like to add this yourself, however, it seems like the problem is that you need to be using GDCC-ACC (https://forum.zdoom.org/viewtopic.php?f=44&t=32078&sid=9a06f212d53aa29c0034ed40e2a65394). This is another ACS compiler that incorporates other features that I make use of.
Let me know if you have any questions!
Good day, the author! Fashion super, but I can not add to your weapon wheel. edited even file for modding, compile impossible! in general, I can not add to the list of their weapons, since it does not appear in your modifications. please tell us what should be changed and added.
Have you tried compiling with gdcc-acc? (https://forum.zdoom.org/viewtopic.php?f=44&t=32078&sid=989b5d6a7758b2a1692905b99decc062)
D4T2 came out the other day, the timing on your update lol. you think you could upgrade the wheel to include the new weapons?
Really? I just checked the moddb page and it still says version 1.0.1.1. Where did they release v2?
Nevermind. I see that they just made a new moddb page. Yeah I'll try to add them ASAP.
Done =) Let me know if it's not working.
Love this addon. Your code ended up allowing me to make some major changes to Ultimate DoomVisor. Thanks for making this - you should look into Zscript and see if you can make this potentially universal without weapon arrays. From my limited understanding of ZScript so far, it seems like it might be possible to dynamically create the wheel based on your current weapons, instead of having to check a preconfigured array, which would be great for new mods and currently unsupported mods. I'm trying to wrangle a way to do it for UDV's weapon lists and reserve ammo right now myself.
Oh, and I did fix UDV's flashlight with the timefreeze issue... so you can remove that from your stuff. :)
Thanks! I noticed the flashlight change, though I didn't realize it was just to make compatible with the weapon wheel. Much appreciated!
It's coincidental that you just posted now, as I just spent the past couple of hours trying to update the wheel for v2.11 (I thought I did it a couple versions ago, but there were still a couple of kinks to work out).
For what it's worth, I did run into a compatibility issue. It took me awhile to figure out what the issue was, but once I eventually did find it, it wasn't too hard to fix. I'm not sure if you could change your mod to circumvent this 'hack' or not. It might just be easier for me to fix things on my end (especially as I've already done so).
The offending line was line 220 in EnemyHB.acs:
"SpawnForced("UDV_Giver", 0.0, 0.0, 0.0); // Gives all actors inventory item that triggers TID Script."
On very large maps (I tested on nochance.wad), in stopped time mode, this would cause the game to lag, sometimes even crash, upon closing the wheel. Unfortunately I only have a vague idea of how this works, as I'm not sure exactly how the "TimeFreezer" power-up works internally (it's what is used to achieve the stopped time effect), but basically I think the idea is that for every tic the wheel is up and every monster in the map, it tries to execute the script "RadarChanger" when the wheel closes, and executing that many scripts all at ones causes the game to hang.
You can test this out yourself on v1.37 or earlier. You can see how I worked around this in v1.38 (basically I "replaces"ed your "UDV_Giver" with one that effectively does the same thing, but only if the wheel is *not* up in stopped time mode).
In any case, I wouldn't worry too much about it unless you know of a quick fix.
And do let me know if you figure out how to do that with ZScript. The truth is I don't know too much about it. I basically thought it was supposed to replace DECORATE, and so didn't look too much into it as for the vast majority of my mod I use ACS.
Thanks again!
Huh, good catch. I had noticed a bit of lag when closing the wheel... and I have noticed that if you are patient, it usually doesn't fully crash out for me, but it can take 30-45 seconds before it starts playing again. I'll see what I can do on my end to stop that regardless - because I would guess that time freezer powerups themselves will cause the same issue, not just weapon wheel's implementation of it. I'll let you know what I come up with.
I just encountered a bug in the middle of a session where the stop-time function decided to stop working out of nowhere. Slow-time still works, but stop-time now functions like normal flow on just this one save file and every game I save from then on out. However, it still works on older saves and new games, including the autosave from the beginning of the level I was on.
I using Weapon Wheel v1.31 and Project Brutality.
Also sending a message now that I read the top of the description.
I feel like I'm missing a step somewhere in making a weapon wheel that works with a mod I'm working on using your template. So far, I've:
1. Added the sprites to the graphics folder.
2. Added the weapon information to the list, replacing the vanilla weapons.
3. Reset HOW_MANY_WEAPONS to the appropriate value (43 in this case).
Aside from compiling the updated .acs files, is there anything I'm missing? I'm also unsure about the process of compiling these ACS files, so some guidance would be much appreciated.
Thanks! :)
Edit: I failed to notice the big red "Read more..." on the description, so nevermind the first issue in my post.
Could you send me your .pk3, as well as the mod (or link to the mod) you want to run it with? (Send it as an attachment to a message here on moddb.) I will try to compile/run it myself and let you know what's wrong.