Alberto Torres
cea7df6947
* Incomplete port of myou-engine-js to nimskull, after many months of work, and a few extra features that weren't exactly necessary for a "first commit" to work. Excuse the lack of commit history up to this point. * Bare bones structure of the documentation and the process to update it. * Restructure of the whole project to have a more sensible organization. * Making submodules of forks of larger libraries. * README, licenses, AUTHORS.md.
73 lines
2.5 KiB
Markdown
73 lines
2.5 KiB
Markdown
# Notes from fork for myou-engine
|
|
|
|
This library has been heavily modified while trying to make it work with myou-engine based projects. The main changes are:
|
|
|
|
* Updated C library to latest GLFM.
|
|
* Replaced use of deprecated ALooper_pollAll().
|
|
* Added GLFW compatibile key codes.
|
|
* Changed touch handling to avoid stuck touches.
|
|
* Updated nim wrapper code.
|
|
* Added `no_sanitize` to functions which were tripping the sanitizer for some reason.
|
|
* Tried to change to support iOS (but in the end we're not using for iOS).
|
|
|
|
You're free to take any change from this GLFM fork without attributing us.
|
|
|
|
# GLFM
|
|
|
|
Wrapper of [GLFM](https://github.com/brackeen/glfm) (OpenGL ES and input for iOS and Android) library for Nim.
|
|
|
|
[GLFM](https://github.com/brackeen/glfm) very simple and is very simmilar to the [GLFW](https://github.com/glfw/glfw) wrapper for desktop apps.
|
|
Together with [GLFM](https://github.com/brackeen/glfm) + [GLFW](https://github.com/glfw/glfw) you can writes app for almost any platform.
|
|
|
|
![example of what both apps look like](examples/screenshot.png)
|
|
|
|
Compiling Nim for mobile platforms is not simple. It requires having XCode and Android Studio which have very many steps and settings they perform.
|
|
|
|
In this repo I have included two projects for XCode and Android Studio which you should be able to just open and hit compile.
|
|
|
|
# Compiling for iOS:
|
|
|
|
Tested with:
|
|
* MacOS Majave Version 10.14.6
|
|
* XCode Version 10.3 (10G8)
|
|
* Nim Compiler Version 0.20.99 [MacOSX: amd64]
|
|
|
|
```cp examples```
|
|
|
|
Compile everything for iOS:
|
|
|
|
```nim c -c --os:android main.nim```
|
|
|
|
(Yes saying android when compilng for iOS is very odd but its as close to mobile as you get)
|
|
|
|
Now copy the generated C files into the iOS project folder
|
|
|
|
```cp ~/.cache/nim/main_d/* ios_triangle/example/src/; cp ios_triangle/example/src/main.nim.c ios_triangle/example/src/main.c```
|
|
|
|
Then you go to XCode and hit compile:
|
|
|
|
![android stuido](examples/xcode.png)
|
|
|
|
# Compiling for Android
|
|
|
|
Tested with:
|
|
* MacOS Majave Version 10.14.6
|
|
* XCode Version 10.3 (10G8)
|
|
* Android Studio 3.4.2
|
|
* Nim Compiler Version 0.20.99 [MacOSX: amd64]
|
|
|
|
Go to the examples folder
|
|
|
|
```cp examples```
|
|
|
|
Compile everything for android running arm processor:
|
|
|
|
```nim c -c --cpu:arm --os:android main.nim```
|
|
|
|
Now copy the generated C files into the Android project folder
|
|
|
|
```cp ~/.cache/nim/main_d/* android_triangle/app/src/main/cpp/; cp android_triangle/app/src/main/cpp/main.nim.c android_triangle/app/src/main/cpp/main.c```
|
|
|
|
Then you go to Android Studio and hit compile:
|
|
|
|
![android stuido](examples/androidstudio.png)
|