-
Notifications
You must be signed in to change notification settings - Fork 2.4k
added easy import/export of roms and game saves for ios version #7881
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
Conversation
…d roms. started by creating a new window in Settings Tools section for starting the web server. Its called Import Export ROMs and Game Saves.
… within the cross platform code. also need to work on GUI window for explaining where to connect. server needs to be stopped once leaving the import export window.
…ng. now need to fully integrate with UI and provide help in app website for basic how to. also need ability to turn off and release
…ct and alterations that are different from what the b.sh generated. Will want to remove and modify build script at later point
…elp almost complete. just need to stop server when leaving dialog
… is turned off. will test tomorrow and if all is well submit a pull request with main repo.
|
That's pretty cool! Would have been even nicer of course if the webserver was a crossplatform one - there's not really any reason for this to be iOS-only except that perhaps that webserver is a nice one. Also not really a big fan of sending custom commands through LaunchBrowser, could easily have just added an new function instead. By the way, seems like you've checked in a bunch of unnecessary binary files like build-ios/PPSSPP.build/Release-iphoneos/Common.build/dgph etc. Hm.... |
|
I chose this web server because it's a great iOS service for quickly getting data onto the device. I also chose that project because iOS is the only platform that is so locked down where it would be necessary to use a web server to transfer data to and from the device. On the computer or on Android, you have open access to the disk drive and can already easily move data in place for PPSSPP. As for the web server only being targeted for iOS, because the sources live in ios/ and because I used #if preprocess directives it shouldn't affect the builds on any other platform. As for LaunchBrowser, I actually removed any custom command through it and I created a new function called WebServiceControl. I think you may not be looking at the latest commit in the pull request? As for checking in all the unnecessary files.. I wasn't sure how your custom build script was creating the xcode project but since I made changes to the xcode project I just checked in everything. I was hoping you would be able to take away the meaningful pieces of the xcode project files and integrate it into your custom build script when merging in the request. What do you think? |
|
I see your point about this being a lot more necessary on iOS than on other platforms. Sorry about the LaunchBrowser comment, I was indeed not looking at the latest commit. But there's definitely way too much stuff checked in here. As the Xcode project is generated using CMake, you will indeed need to make your necessary changes in the CMake files, you can't just check in changes you made to the generated project. If you can get that done, thus getting rid of all the extra file copies, I'm open to merging this. |
|
Great! Yeah, I can go ahead and do the clean up. So I added file references and target frameworks to the xcode project. As I'm not familiar with how CMake is generating the xcode project, any suggestion on how to proceed with implementing the changes in the build script? Thanks! |
|
A few comments (can't really look at the full diff because you added too many generated files for GitHub to show it properly):
-[Unknown] |
|
Unknown,
I'll be working on changes and will update this request when I've made them. |
-[Unknown] |
|
Thanks for the information. Will keep that in mind. If this feature is nearing completion then it sounds like this would be better than having a stand alone version of a web server just for iOS. I just want to make sure it facilitates the easy transfer of ROMs and game saves from devices that are locked down like iOS devices are. If that's the case I'm happy to help integrate a GUI option for your web server option. |
…sily sync roms and game saves between the device and the computer
…r.bundle as part of the app resources. needs to be fixed otherwise need to manually add bundle to resource when building ios project
…sh to master repo
|
I'm closing this pull request as I have revised the code base and submitted a new pull request here: Please let me know if you have any questions. |
Howdy!
I worked on and completed a way for vanilla iOS devices to easily transfer roms and game saves between the device and a computer over local WiFi.
I integrated another popular GitHub project here:
https://github.com/swisspol/GCDWebServer
I included the project under the ios/ section and added integration through the ViewController code. I had to modify the xcode project file by adding frameworks and new file references. This is why I removed the build-ios/ out of the .gitignore.
I had to add some changes to the core files in order to integrate an option inside the app's GUI in the Settings > Tools section. I added #if defined(IOS) preprocessor directives to make sure the code is only included for the iOS target build.
You can activate the feature by running the app on your iOS device.
If not connected to WiFi will get message to connect to WiFi. (had to include Apple's reachability code to detect WiFi connection state)
If connected to WiFi you will see your device's IP and can connect to a website where you can upload/download game saves and ROMs easily. You can upload large 2GB files even straight through the web app. The web server is turned off and released to memory after closing (touching the Back button) the Import/Export dialog.
There are a lot of extraneaous files and build-ios/ should definiltely be added back to the gitignore but I wanted to allow the project owner to properly merge the changes from the xcode project to the b.sh script and the way it generates everything.
The markdown file was edited just for my fork, you should modify that in your merge as well.
Please let me know if there's anything else I need to do to further tighten up my code.
Building this for my non-jailbroken iOS device in release schema allowed for near perfect PSP emulation and easy transfer of PSP games without any fuss given iOS' locked down nature.


