☘️ A krikiroid2 project matained by Yurisizuku.
It will support the newer android device and more formats.
Roadmap :
- core
- replace rendering from cocos to SDL2
- command line or config files for setting
- recent cx game (hash filename) decryption support
- plugin
- windowEx
- layerEx
- layerExDraw (gdiPlus)
- scriptsEx
- platform
- android
- SDK level above 21 (android 5.1, Lolipop)
- bypass scoped storage
- access extern sdcard by saf
- windows
- linux
- android
- develop
- camke project structure, documention for develop
- scripts to compile or cross compile
- vscode and android studio project for multi enviroment
- ci in github action to automaticly build
(This project is heavily relying on cocos. Sooner or later, I might rewrite these parts and replace them by SDL2. And because that the upstream didn't provide all the plugins source code, it still needs sometime to adapt them.)
Although now the apk build from source is runable, it is not perfect. Beta version has some problems due to the cocos version change, incomplecate of some code. Currently the beta version is only aimed for debug. Please use Kirikiroid2_yuri_1.3.9.apk instead.
I add some futures by reverse engine before, and now this project can be build from source. This is really a very hard work, because there are so many dependencies, lack of files, code not compatible problems.
- wget, 7z, git, make, cmake
- python2(for cocos2d-x v3), msys2 (if windows)
- thirdparty depedency (see
_fetch.sh
in detail)
# wget
https://downloads.xiph.org/releases/vorbis/libvorbis-1.3.7.tar.gz
https://archive.mozilla.org/pub/opus/opus-1.3.1.tar.gz
https://downloads.xiph.org/releases/ogg/libogg-1.3.5.tar.gz
https://downloads.xiph.org/releases/opus/opusfile-0.12.tar.gz
https://www.rarlab.com/rar/unrarsrc-6.0.7.tar.gz
https://www.libsdl.org/release/SDL2-2.0.14.tar.gz
# git
https://github.com/krkrz/oniguruma
https://github.com/google/breakpad
https://github.com/zeas2/FFmpeg
# git with version
https://github.com/google/oboe/archive/refs/tags/1.7.0.tar.gz
https://github.com/kcat/openal-soft/archive/refs/tags/1.23.0.tar.gz
https://github.com/libjpeg-turbo/libjpeg-turbo/archive/refs/tags/2.1.5.1.tar.gz
https://github.com/opencv/opencv/archive/refs/tags/4.7.0.tar.gz
https://github.com/lz4/lz4/archive/refs/tags/v1.9.4.tar.gz
https://github.com/libarchive/libarchive/archive/refs/tags/v3.6.2.tar.gz
https://github.com/cocos2d/cocos2d-x/archive/refs/tags/cocos2d-x-3.17.2.tar.gz
In windows, you must use msys2 to build ffmpeg port.
You can also download the prebuild ports from thirdparty_ports.tar.gz, thirdparty_build.tar.gz.
- android sdk with
ANDROID_HOME
variable in env - android ndk 25.2.9519653
See _androida64.sh
for how to build dependencies.
Use script/cross_android64.sh
to build ports and the use project/android/gradlew assembleDebug
to build apk.
game | version | status | description |
---|
(build from souce, beta version)
major:
- title path button click position is not correct
- crash in game menu form
- game alert window button can not click
- member GdiPlus does not exist
- global preference can not save
minor:
android studio buildDir not worked and it make dir at rootfixed by cmakeadd_subdirectory
build dir
See Roadmap.
Original information about kirikiroid2 bellow, also refered some dependencies from ningshanwutuobang.
==========================================================
Based on most code from Kirikiri2 and KirikiriZ
Video playback module modified from kodi
Some string code from glibc and Apple Libc.
Real-time texture codec modified from etcpak, pvrtccompressor, astcrt
Android storage accessing code from AmazeFileManager