desmume icon indicating copy to clipboard operation
desmume copied to clipboard

Slot2: Add Slide Controller

Open windwakr opened this issue 1 year ago • 2 comments

This adds the Slide Controller add-on, used by the game Slide Adventure MAGKID. AFAIK no other emulator supports this add-on. Only the Windows frontend is implemented. Set slot 2 to auto, load up the game and move your mouse around.

If you're just looking to play the game, then download a build of the emulator here desmume-slidecontroller.zip

https://github.com/TASEmulators/desmume/assets/284886/6257d747-b54b-44f7-a05f-12309428a020

This is a draft because

  • I'm not sure about my changes to the Windows main.cpp regarding raw input reading
  • The cursor needs some mechanism to lock/hide it while playing
  • Rarely, some bits get dropped somewhere causing the whole thing to desync and stop functioning. No clue, probably in my serial handling code.

I'm not sure if I want to work through the frontend issues. If anyone else wants to then feel free to take over(squash my commits please). Otherwise, it'll be here for anyone that just wants to play the game.

I mostly referenced the small section in GBATEK and the chip's data sheet, with a small amount of RE of the game.

windwakr avatar Oct 10 '23 06:10 windwakr

OK, I ended up rewriting the slot2 code to make it not so awful, taking heavy inspiration from the Magic Reader serial handling code in GBE+.

I feel like the slot2 code is in acceptable state now. The frontend code is unchanged and still crap and broken, though.

windwakr avatar Oct 11 '23 02:10 windwakr

Ok, last change before leaving this for a while. I added rumble support. In doing this, I moved the definition of FeedbackON from slot2_rumblepak.cpp to slot2.cpp to make it more clear that it's available for other add-ons.

I guess set your controller on your lap? Yeah, it isn't the most practical to use. In-game there's a setting to turn rumble off it it's unwanted.

windwakr avatar Oct 12 '23 02:10 windwakr