Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

nsyshid: Emulate Dimensions Toypad #1371

Open
wants to merge 9 commits into
base: main
Choose a base branch
from

Conversation

deReeperJosh
Copy link
Contributor

@deReeperJosh deReeperJosh commented Oct 6, 2024

This PR aims to emulate the last mainstream toys-to-life peripheral, the Lego Dimensions Toypad. The Toypad is functionally very similar to the Disney Infinity Base, it has 2 endpoints, one for reading and one for writing, and all requests and responses are padded to 32 bytes.

The UI I have created functions mostly the same as the Skylander Portal and Infinity Base, but the layout is slightly different, to try to match the positions of a physical portal:

image

Users can Clear minifgures from the UI, Create either a new Character, or a 'Blank Tag' which can be used to store gadgets from the game, or Load an existing dump.

The game quite frequently requires figures to be moved to different positions on the Toypad, so I have added in a move button, which opens up a new UI window allowing users to quickly select a new position to move one of their loaded figures on to:

image

Any testing would be much appreciated, I have the game but a lot of different sections of the game have different ways to interact with the Toypad, so there is potential for some areas of the game to require slight variations to adding/removing responses etc.

For anyone interested, here is a video of the tool in action

This PR should close #1268.

@deReeperJosh deReeperJosh changed the title nsyshid: Emulate Infinity Base nsyshid: Emulate Dimensions Toypad Oct 6, 2024
@deReeperJosh deReeperJosh force-pushed the dimensionstoypad branch 2 times, most recently from 4a7932d to d2faf12 Compare October 6, 2024 23:27
src/Cafe/OS/libs/nsyshid/Dimensions.cpp Outdated Show resolved Hide resolved
src/Cafe/OS/libs/nsyshid/Dimensions.cpp Outdated Show resolved Hide resolved
src/Cafe/OS/libs/nsyshid/Dimensions.cpp Outdated Show resolved Hide resolved
src/Cafe/OS/libs/nsyshid/Dimensions.cpp Outdated Show resolved Hide resolved
@deReeperJosh deReeperJosh marked this pull request as ready for review October 7, 2024 15:52
@deReeperJosh
Copy link
Contributor Author

Will squash the commits once reviews have been done

@goeiecool9999
Copy link
Collaborator

Will squash the commits once reviews have been done

You don't have to. The Cemu repo has merge commits disabled so the options for merging PR's are squash or rebase. Usually squash is chosen so the individual commits do not enter the main tree. It might actually be helpful to keep the separate commits in the PR just in case.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

LEGO Dimensions ToyPad Emulation
2 participants