silicontrip / SkyReader

A Skylander portal reader/editor/writer for OSX.
87 stars 55 forks source link

Several error fixes #32

Open SigmaDolphin opened 5 years ago

SigmaDolphin commented 5 years ago

i have been working on SkyReader for some time and been working to improve it, i found several errors in it and managed to fix them as a summary:

added SetOutputReport since most portals communicate by reports rather than raw hid writes added a delay on the portal initialization because the portal has a slight delay to start polling data and allowing for commands fixed an oversight in the write commands that only allowed to write to position 0 skylanders added a couple of functions to allow raw reading and raw writing to figures

as a note, most portals work properly and read properly, except TrapTeam, which for some reason duplicates the listings of each skylander All my testing was done in Windows using PS/Nintendo Portals

SigmaDolphin commented 5 years ago

also i am a big dumdum for not adding the modified .h files to the pull request

silicontrip commented 5 years ago

Hi, I'm not quite sure how to manage this now. Both my kids have out grown Skylanders. The last version they played was on the xbox, which I know the portal has extra encryption (thanks Microsoft for the walled garden) I did keep hold of my old Wii portal. But honestly my interests have moved on. As the beauty of open source I'd really like to hand this over to someone else to work with. I know that capull0 has done extensive work in a linux port and (strangely enough) other have made windows ports, I say strange because I ported this from a windows app to work on OSX initially (oh and being a command line addict fix up and make the command line options consistent). But not sure how to move on. Thanks for the interest.

SigmaDolphin commented 5 years ago

first of all, thank you for your reply, and i understand you may have lost interest in the whole skylanders thing, i have worked a lot on reverse engineering them, i even made a program in VB6 that works as a GUI for SkyReader, i did notice capull0 is on the right direction as well, I myself used the windows portion of your work, but ultimately what you decide to do with the project its up to you, if you decide to pass it on to someone else i hope i can be in that team

thank you a lot for making SkyReader, man!

hegyak commented 5 years ago

Looking forward to testing these changes/fixes on a Windows 10 System. With both PS4 Trap Team portal, and XBox 360 Portal (I forget which ones I have).

I made a GUI editor for Skylander Figure Dumps. myself. Does a pretty good job too. It doesn't do everything I want, like Skills in depth but most of the things you want to edit, you can.

My language focus is on .Net so I can't really help with the C++ side of the code but I got all the games for XBox 360 (retail) and Trap Team on PS4. And I want to help this out as best as I can as well.

hegyak commented 5 years ago

After testing this against my PS4 Trap Team Portal. This is a good Pull request. It works great. Reads in the Traps in the trap hole, and the Skylanders too.

The only request I have is this: Please fix the following line in checksum.cpp fprintf(stderr, "Checksum failure for checksum type %d, data area %d", type, dataArea); to fprintf(stderr, "Checksum failure for checksum type %d, data area %d\n", type, dataArea);

It adds a new line for the Checksum is invalid text output. It should work on OSX, Windows and Linux.

SigmaDolphin commented 5 years ago

to be honest i haven't messed up with the checksums in SkyReader, they are a tad outdated as well since its missing the Type 4 checksum and some other things, i did add a function in my VB6 app to check for all the checksums, i haven't uploaded it yet because i am a bit scared Activision might go berserker on me

hegyak commented 5 years ago

I get your desire to keep that stuff hidden away.

@SigmaDolphin Is there a way we can chat about this more? Sharing information and data. Swapping apps and code as well.

If you want to Email me, my Username here on GitHub @ Gmail is a good place to get a hold of me.

I am willing to share what I know and hopefully we can make some new app(s) together.