74 lines
2.5 KiB
Markdown
74 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)
|