Hell Yeah!

Hell Yeah!

Not enough ratings
How to edit controller mapping
By Black Heretic
Devil rabbits, unite: you can vroom with a gamepad too.
   
Award
Favorite
Favorited
Unfavorite
1. Introduction
Even though Hell Yeah! Wrath of the Dead Rabbit officially supports gamepads, their default control scheme is suboptimal at best. Specifically, most players complain that (1) the Drill and Shoot actions are tied to the same button (the right trigger) and, more importantly, (2) it's very difficult (pretty much impossible) to aim and jump at the same time because both actions require your right thumb (being them bound to the right stick and the A button respectively, on Xbox controllers).

The real problem comes up by trying to edit the control scheme for gamepads in the game settings, because the game doesn't allow players to do it and shows the (in)famous "This button cannot be redefined with this action" error message instead. Being affected by the problem myself, I took a look at the game files and, after a few tests, I found a way to manually change the control scheme for gamepads (well, kind of).
2. Requirements
Since the guide requires editing the content of a text file, the only thing you need is a text editor. I also suggest not editing the file while the game is running: I don't think that anythin critical would happen in such a case, but do it at your own risk.
3. Control scheme file location and structure
The control scheme for both keyboard/mouse and gamepad is saved in a configuration file, located within the Document folder of Windows. This is the folder to look for:

%USERPROFILE%\Documents\SavedGames\HELLYEAH

Dig a little deeper inside it (just a couple of folders) to find a Config.ini file, then open it with the text editor. There are three sections available: SETTINGS, GRAPHICS and CONTROLS (which is the one we're interested in). Looking at the CONTROLS section, each in-game action has three dedicated entries:
  • ACTION_KEY defines the binding with a keyboard/mouse button.
  • ACTION_GPAD defines the binding with a gamepad. The value can be 0/1/2/3, according to the number assigned to your gamepad by the system. In most cases, this value is 0.
  • ACTION_GPAD_CODE defines the binding with a button on the gamepad specified by ACTION_GPAD.
Assuming the ACTION_GPAD value is correct (you can always edit it to reflect the number currently assigned to your gamepad), ACTION_GPAD_CODE entries are the ones we're going to edit.
4. Editing the control scheme
Hell Yeah! uses the numeric codes defined by the XNA framework for the buttons of (Xbox) gamepads. The available codes are:

Button
Code

Left stick button
64
Left stick Up
268435456
Left stick Down
536870912
Left stick Left
2097152
Left stick Right
1073741824

Right stick button
128
Right stick Up
16777216
Right stick Down
33554432
Right stick Left
134217728
Right stick Right
67108864

D-pad Up
1
D-pad Down
2
D-pad Left
4
D-pad Right
8

A button
4096
B button
8192
X button
16384
Y button
32768

Left bumper
256
Right bumper
512
Left trigger
8388608
Right trigger
4194304

Start button
16
Back button
32
Guide button
2048

At this point, changing the button for one of the in-game actions is very easy: just set the related ACTION_GPAD_CODE value to the numeric code of the desired button from the list above. For example, if you want to jump by pressing the left trigger, just edit the corresponding entry like this:

JUMP_GPAD_CODE = 8388608

After editing the control scheme, save the file and run the game to check that everything works as expected. If you encounter any issues or if you mess up with the numeric codes, you can always reset the control scheme in the game settings... or delete the Config.ini file altogether (the game should create it again for you, next time you run the game).
5. A few clarifications and recommendations
Here's a short list of extra tips and quirks about the manual controller mapping I described in this guide:
  • The provided solution has been tested with 3 Xbox/PC controllers (different brands) and all worked without issues. However, I cannot grant that it will work for every single controller available out there like PS controllers, Nintendo controllers, or other brands. Using tools like DS4Windows might help in such cases.
  • Three weapon-related actions (the ones for missiles, guns, and grenades) have no bindings by default. In case you want to enable them, you must change the corresponding WEAPONx_GPAD value from -1 to 0/1/2/3 first, according to your gamepad number. Specifically:
    • WEAPON1 refers to missiles;
    • WEAPON2 refers to guns;
    • WEAPON3 refers to grenades.
  • To disable the binding for an in-game action, edit the corresponding ACTION_GPAD and ACTION_GPAD_CODE values to -1 and 0 respectively.
  • Both Drill and Shoot actions react to the Drill button only, despite they have two separate entries. Consequently, these two in-game actions can't be split on gamepads.
  • This is an important one. Based on my tests, some in-game elements seem to be hard-coded so that they react only to the in-game action originally bound to them, rather than the actual physical button bound to them. Unfortunately, in such cases, GUI elements don't reflect this behavior and make things a little messy. For example, if you swap the Jump and Dash buttons so that you jump by pressing the left trigger and dash by pressing the A button, you'll have to press the left trigger each time you're asked to press the A button during a mini-game, because the game actually wants you to press the Jump button wich is now bound to the left trigger. The same happens with the description of secondary missions and the controls in The Island zone, but not in menus (where you can confirm/cancel by using the A button and B button). You have to get used to it, but the advantages of a custom control scheme are worth it in my opinion.
6. Conclusion
Thanks for reading this far, I really appreciate it!
Please consider giving the guide a "thumbs up" if it has been useful for you. You can also add it to your "favourite" or share it with your friends. Feel free to add a comment below in case of doubts or mistakes, feedbacks are welcome.
1 Comments
Hubert Beckham 22 Dec, 2024 @ 6:58pm 
this was actually very helpful. Thank the lords for you.