ReMinecraftPE / mcpe

ReMinecraftPE - A custom experience based on Minecraft PE as of 2011.
https://discord.gg/UKGhuKNmFu
Other
308 stars 47 forks source link

iOS port #84

Closed TorutheRedFox closed 2 months ago

TorutheRedFox commented 8 months ago

it'd make sense to have a port to iOS that supports versions from the time period (iOS 3+ perhaps?)

TheBrokenRail commented 8 months ago

SDL has iOS support, but it's limited to iOS 8+.

iProgramMC commented 8 months ago

I'm sure it would! So, after I port the touch handling code from v0.1.1 or the v0.1.0 touch prototype, why not add iOS support? If SDL having support for only versions 8 and higher, you can always opt for a standard OpenGL ES view based application.

I don't have an iOS device much less an old one.

TorutheRedFox commented 8 months ago

SDL has iOS support, but it's limited to iOS 8+.

older versions of SDL do exist and have been used to port things to iOS 6

xash3d has iOS 6 support for example (well older versions do but point still stands)

TorutheRedFox commented 8 months ago

as for having an iOS device, all you really need is access to Mac OS X 10.8 (Mountain Lion) or 10.9 (Mavericks) to run Xcode 4 or 5

it comes with a simulator (which really is just stripped down iOS compiled for x86 with an SDK of its own) which lets you run and test the app straight from Xcode

iProgramMC commented 8 months ago

Sure, but I don't have access to a Mac OS X device either!

BrentDaMage commented 8 months ago

I have access to all of those. I have an iPhone 4S running iOS 6.1.3 and multiple Macs running Snow Leopard and Lion with Xcode 4 installed. I think the best approach would be to write the most portable wrapper possible for the iOS-specific stuff just to get the app running. This would preferably be in C++ and not Objective C.

iProgramMC commented 8 months ago

I think it doesn't matter, since 99% of the MCPE code is the same across all platforms. The official MCPE has an Objective-C based frontend.

Of course it would be nice if SDL worked, but I'm not sure how it handles touch, among other things.

BrentDaMage commented 8 months ago

Poked around a bit with an Objective-C app on Xcode 4 with iOS 3 support. I'm likely just going to reverse-engineer/decompile the Objective-C for the first release of MCPE on iOS. There's only like two Objective-C classes that actually seem to matter in there too, so it may be really easy. We'll see... It should hopefully be easier than doing it from scratch.

TorutheRedFox commented 8 months ago

Sure, but I don't have access to a Mac OS X device either!

a VM will do actually, as long as you manage to set up one that's stable enough to not drive you insane lol

TorutheRedFox commented 8 months ago

I think it doesn't matter, since 99% of the MCPE code is the same across all platforms. The official MCPE has an Objective-C based frontend.

Of course it would be nice if SDL worked, but I'm not sure how it handles touch, among other things.

i'm pretty sure that the Objective-C menu stuff is just for the world creation popup and the options menu, the rest being the same as on Android

iProgramMC commented 8 months ago

i'm pretty sure that the Objective-C menu stuff is just for the world creation popup and the options menu, the rest being the same as on Android

Well you do need a view to display the OpenGL application don't you? I think that's not set up in "the same way as on Android". And not because Apple and Google use different terminology for essentially the same thing (view vs activity).

TorutheRedFox commented 8 months ago

i'm actually not sure how ogl stuff is done on ios, but setting up views in general isn't too difficult and there's a sample ogles project in xcode that you can reference and even build off of

BrentDaMage commented 8 months ago

Can someone assign me to this issue? I'm currently working on decompiling the Objective-C portions of the iOS client.

iProgramMC commented 8 months ago

Sure.

BrentDaMage commented 2 months ago

@iProgramMC This is ready to be closed, we just need to update the README to mention the fact that iOS 3.0 and above is supported.

TorutheRedFox commented 2 months ago

i'll close it in that case then

iProgramMC commented 2 months ago

@iProgramMC This is ready to be closed, we just need to update the README to mention the fact that iOS 3.0 and above is supported.

Done.