Sorroko / cclite

A cc emulator written in lua
33 stars 17 forks source link

Android version #30

Open Rami-Sabbagh opened 10 years ago

Rami-Sabbagh commented 10 years ago

Can i create an Android Version? Sorroko Accepted For now I forked this project and I renamed it to CCLite-Android Link : https://github.com/RamiLego4Game/CCLite-Android

Currently FileSystem Not Working, but just one way to write files (not in CC) is to use :

file = io.open("/mnt/sdcard/etc...../filename") file:write("Just Test".."\n") -- "\n" to create new line file:flush() file:close()

Sorroko commented 10 years ago

An android version requires two things:

  1. Making the build script build an apk file.
  2. Adding support for the android version if love, such as touch events, etc. The biggest issue will probably be the screen. If you can help work towards that, submit some pull requests.
Rami-Sabbagh commented 10 years ago

Currently i finished main things so , i downloaded love for android Then i downloaded the cclite src Then i extracted cclite-master/src/* to sdcard/lovegame/ Afterthat i launched love at my mobile The emu started but there's no keyboard i edited emulator/emulator.lua It's like a weak fix, but if you clicked back button at android the keyboard open, click again and keyboard close

I opened paint and touch work

Now we should fix the size to fit in the screen I will upload the src and make a video soon!

Sorroko commented 10 years ago

However that is not the best way to distribute the game, you need to build an apk instead of making the user install it into sdcard/lovegame/.

Rami-Sabbagh commented 10 years ago

But for now it's still under development so we will use sdcard/lovegame

Rami-Sabbagh commented 10 years ago

Issues List : 1- The Emulator Don't fit the Screen , The screen is small 2- Can't terminal a program , no ctrl button, can't exit paint or edit 3- Filesystem & Http API don't work at all

ToDo List : 1- Create a better way to Handel keyboard 2- Create a ctrl ,terminal and shutdown buttons 3- Find a way to make the Keyboard Transparent 50%

Rami-Sabbagh commented 10 years ago

For now I forked this project and I renamed it to CCLite-Android Link : https://github.com/RamiLego4Game/CCLite-Android

Rami-Sabbagh commented 10 years ago

If you can try to install it by my forked src

lillendogge commented 9 years ago

Omg, PLEASE keep working on this!! I have been looking for something like this for ages, and I know that many others have as well!! I understand if you no longer feel any interest in the project, but please at least make the link work! I myself do not have the time or the knowledge to be able to work on this or anything similar, sadly :/

Rami-Sabbagh commented 9 years ago

Actually i have deleted the fork respory for some reasons, but now i'm more pro at working with love2d, so i will recreate the android version :D

Sorroko commented 9 years ago

@lillendogge It's nice to hear there's still interest in this, I might work on this emulator a bit later

Also it may be worth just adding in Android support to the main emulator, there's not many changes that need to be made and I don't see the point of a new fork

Having said that, @RamiLego4Game feel free to fork and work on it, maybe even submit a PR

Rami-Sabbagh commented 9 years ago

CC on Android will require advanced interface with custom multitouch keyboard. So i decided to fork Gamax version of cclite (less bugs) and convert it to a library for emulating cc, then i'll work on the android friendly interface and include the library to have the best cc emulator on android. It will take from me hardwork and alot of time starting with 2 weeks !

lillendogge commented 9 years ago

Cool!! Really looking forward to it! As I said, I can't really help with coding the emulator, but tell me if there is anything that i can do to help! :)

Sorroko commented 9 years ago

Well after a little work the build script now creates an apk that works, I added some tweaks to get the keyboard to show and a menu bar. The screen will also scale to the size of your device whilst maintaining the aspect ratio.

The keyboard needs improvements and as mentioned above the http api doesn't work. Files are currently located at /data/data/com.sorroko.cclite/files/save/cclite however you will need root access, I will look into moving the save directory to the internal sdcard.

Finally a nice screenshot: screenshot_2015-04-06-15-16-42

I'll make a proper release soon, but in the meantime bugs & suggestions are more than welcome!

Sorroko commented 9 years ago

Here's a pre built apk if you would like to try it out: https://www.dropbox.com/s/mvbeveigp7kbeak/CCLite-2.2.0-alpha.apk?dl=0

lillendogge commented 9 years ago

Cool! I just downloaded it to try it and its awesome! I have not rooted my phone, so I can't really try To code in it, but what I did notice was that in programs like paint, the mouse either doesn't work or shows up way to the left of where you are touching the screen. Also, a suggestion for adding more advanced controls to the emulator, the top row could contain buttons for inserting Ctrl+t, Ctrl+r, etc. Or simply Ctrl. It could also contain buttons for toggeling between right/left click and showing an overlay with arrow keys. Just suggestions tho, so if you had something else in mind, then go with that first.

Sorroko commented 9 years ago

I have forked the love android project since it's easier to add my own changes to it, I've managed to move the save directory to /sdcard/Android/data/com.sorroko.cclite/files/save/cclite which is an improvement since you can easily access that folder. I'm still fixing a few more bugs.

As for right click, I was thinking maybe some kind of gesture? A double tap or two finger tap, some gestures might interfere with some cc programs however.

lillendogge commented 9 years ago

That is was i was thinking aswell, with the mouse right click. A gesture would clearly be easier to use, but would interfere with many programs. Maby go with the 'leave it to the user' option, so that you can switch between them?

Rami-Sabbagh commented 9 years ago

Note : you can use lua io library to access the sdcard, however, the limited thing that you cant get directory items :(

Rami-Sabbagh commented 9 years ago

Soory friends, my school test marks have neen send to my parents, so now no computer, no mobile to thw end of my school (5/15) (1 month) q-q.

lillendogge commented 9 years ago

OK, man i feel sorry for you.. :( cya in a month i guess...

Sorroko commented 9 years ago

@lillendogge I agree, a double tap gesture would be perfect but it's not precise enough, I think I will just add a button for now and then add a gesture later for convenience and make it configurable

@RamiLego4Game I already have it working on the external sd card using my own fork of the library, which I also added a way to get the keyboard height finally! Ah, that's a shame, hopefully you can help when you come back.

I'll upload another test apk in a minute, feedback/bugs would be nice :)

Sorroko commented 9 years ago

Here you go, https://www.dropbox.com/s/5l2epo1e77vikj3/CCLite-2.2.0-beta.apk?dl=0

Files are saved in /sdcard/Android/data/com.sorroko.cclite/files/save/cclite as mentioned above, shortcuts such as Ctrl + S will trigger immediately since you can't hold a key down on android. I will improve the buttons soon since I can now scale and position things above the keyboard, and HTTP still needs to be fixed.

Rami-Sabbagh commented 9 years ago

@Sorroko Why you don't help on love android ? Alot of changes you made to it i need them ,you'll be the best.

Sorroko commented 9 years ago

@RamiLego4Game I might send a pull request for the keyboard height method, but I'm not sure if they want it in the main project as I think they want to keep the number of extra features to a minimum

lillendogge commented 9 years ago

OK, so some bugs: The shift button is off-screen and can only be seen in landscape mode (which does not look that good either), the red box that indicates that you pressed a button doesn't fit for the text, and also, did you add the key to toggle between right and left click in this version? If so, then it is not visible.

I think the biggest issue however, I's that the shift and Ctrl keys don't work as intended (as you stated previously).

PS: sorry for late answer, have been sick for a few days.