Kirikiroid2Yuri
Kirikiroid2Yuri copied to clipboard
An enhancement of Kirikiroid2
Krikiroid2-Yuri
☘️ A krikiroid2 project matained by Yurisizuku.
Support the newer android device and more format.
New features :
- develop
- [x] clear camke project structure
- [x] well documention for develop and usage
- [x] scripts to compile or cross compile without pain
- [x] vscode and android studio project for multi enviroment
- [x] ci in github action to automaticly build
- platform
- android
- [x] SDK level above 21 (android 5.1, Lolipop)
- [x] bypass scoped storage
- [ ] access extern sdcard by saf
- windows
- linux
- android
- render
- game support
- [ ] recent krkr game decryption support
(This project is heavily relying on cocos. As I am not familiar with cocos, I am looking forward for your contribute to improve this project)
1. usage
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.
2. Build
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.
(1) prepare
- 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.
(2) android
- 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.
3. Compatibility
game | version | status | description |
---|
4. Issues (including solved)
(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 root~~ fixed by cmake
add_subdirectory
build dir
5. Todo
Original information about kirikiroid2 bellow, also refered some dependencies from ningshanwutuobang.
Kirikiroid2 - A cross-platform port of Kirikiri2/KirikiriZ
==========================================================
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