2009-10-17, 05:48 AM
So I'm currently working on intercepting (spoofing) SOM's device input. I haven't been able to interact with the controllers because of this weird crashing behavior that I can make neither heads nor tails of. However the keyboard is not a prob...
So it dawned on me... SOM's controller system we know is buggy configuration wise in at least three ways and practically unusable without shear perseverance. Fixing the builtin bugs seems problematic at best. And we know that SOM can't reliably even have access to all of the buttons/etc on your joypad.
So what I'm thinking, is we consider not using SOM for controller input at all. And instead we program our own controller interpreter, and translate from that into SOM's keyboard input. Think about it, you can do everything with the keyboard, so all we gotta do is use the controller to drive that.
This is not tough at all to do. For now maybe we could alert the player to the alternative way via a readme or something. But eventually I don't think it would be too much trouble to hijack the controller setup menu completely and completely rearrange it for configuring around the new system.
This way we get a lot of interesting things. For example it would probably work fairly well to simulate analog control by sensing a lightly pressed analog stick and interpreting that into hitting the keyboard button like every other frame for a half speed and so on. This would give you finer control. It's also easy to detect when a menu is up (the only time som sends text really) and change up the keys for this so you don't accidentally cancel an unprompted message (like an NPC yelling at you) because you were just hitting one of the cancel buttons for some action. And in general I can't even control the KF1 remake that installs off the disc because the menu navigation buttons aren't available to my preferred controller setup.
If your controller has extra buttons you could even assign sequences to it, like use an item or change weapons to the select/start buttons.
So it dawned on me... SOM's controller system we know is buggy configuration wise in at least three ways and practically unusable without shear perseverance. Fixing the builtin bugs seems problematic at best. And we know that SOM can't reliably even have access to all of the buttons/etc on your joypad.
So what I'm thinking, is we consider not using SOM for controller input at all. And instead we program our own controller interpreter, and translate from that into SOM's keyboard input. Think about it, you can do everything with the keyboard, so all we gotta do is use the controller to drive that.
This is not tough at all to do. For now maybe we could alert the player to the alternative way via a readme or something. But eventually I don't think it would be too much trouble to hijack the controller setup menu completely and completely rearrange it for configuring around the new system.
This way we get a lot of interesting things. For example it would probably work fairly well to simulate analog control by sensing a lightly pressed analog stick and interpreting that into hitting the keyboard button like every other frame for a half speed and so on. This would give you finer control. It's also easy to detect when a menu is up (the only time som sends text really) and change up the keys for this so you don't accidentally cancel an unprompted message (like an NPC yelling at you) because you were just hitting one of the cancel buttons for some action. And in general I can't even control the KF1 remake that installs off the disc because the menu navigation buttons aren't available to my preferred controller setup.
If your controller has extra buttons you could even assign sequences to it, like use an item or change weapons to the select/start buttons.