JohnGlassmyer / UltimaHacks

Patches which add features to, and improve the usability of, the 1990s video games Ultima VII (BG and SI) and Ultima Underworld (I and II), along with a program to compile and apply these patches.
https://johnglassmyer.github.io/UltimaHacks/patcher-site
MIT License
129 stars 6 forks source link

UW1/UW2 Request: Rebind keys #9

Open 1ismany opened 4 years ago

1ismany commented 4 years ago

Ultima Underworld using WASD and mouse-look is amazing! I would love it even more if we can choose the keys for jumping, fighting, and everything else. Also some keys call external programs, for example ctrl+alt+m (shortcut for m-rune) activates virtualmidisynth's interface, but maybe that can be disabled in dosbox. I don't know what's causing it, but sometimes the game crashes.

JohnGlassmyer commented 4 years ago

To change keys, if you're running in DOSBox, please use the DOSBox keymapper interface. The Underworld engine uses a combination of methods to read and interpret key presses, and it would be a large undertaking to make the keys generally reconfigurable at run-time. If the DOSBox keymapper is not an option, it is possible to edit the sources to use different keys and then build and apply a customized version of the patch.

Is the virtualmidisynth thing a problem for you? Probably it can be disabled in DOSBox config or the key can be changed with the keymapper interface. Personally, I used either MPU-401 output or FM emulation when playing games in DOSBox, so I'm not familiar with it.

If the game is crashing, please file a separate issue with as much detail as you can figure out about when and where and how and in what circumstances it occurs.

ungesundes-halbwissen commented 4 years ago

If you would take it upon yourself to look up the hex-adresses for all keys you have defined, I could try to come up with some sort of configuration script to modify existing exe files. Just an offer ... I know fully well that I like to do things the wrong way ;-)

clawstheone commented 4 years ago

Hi John, it seems that your assigned keys somehow override the DOSBOX keymapper? Not sure how that happens but you can try it yourself and you'll see. Example: If I assign "E" to reproduce the "X" functionality (Walk forward slowly), pressing E makes me walk forward but still activates the "use object in 3D view" shortcut you assigned. Is there any way I can rebind your shortcuts?

JohnGlassmyer commented 4 years ago

I'm guessing that you didn't remove the (default) mapping of E to E, in that case.

More info here: https://www.dosbox.com/wiki/Mapper

clawstheone commented 4 years ago

Yes you are right, thank you. All works well now. Thank you for this great hack, I can finally play this game.

Hexaae commented 8 months ago

If you would take it upon yourself to look up the hex-adresses for all keys you have defined, I could try to come up with some sort of configuration script to modify existing exe files. Just an offer ... I know fully well that I like to do things the wrong way ;-)

Would certainly come in handy! +1