If you do not receive your verification email after registering, please check your spam folder. You can also get in contact with us via other methods.
Если вы не получили письмо c подтверждением регистрации, пожалуйста, проверьте папку спам. В случае отсутствия письма и там напишите нам другим способом.

[EN/RU] Mobile devices / Мобильные устройства

Any non-technical Umineko-related stuff.
Всё что угодно на около-Umineko-подобные нетехнические темы.
Post Reply
vit9696
Администратор
Posts: 1767
Joined: 24 Feb 2015, 00:48
Gender: Male

[EN/RU] Mobile devices / Мобильные устройства

Post by vit9696 »

Начиная с пятого эпизода имеется полноценная поддержка iOS 8.0 и новее, а также Android 4.1 и новее.

Для установки на iOS устройства можно воспользоваться сертификатом разработчика Apple Developer или приложеним Cydia Impactor. Для копирования файлов игры рекомендуется использовать актуальную версию iTunes.

Для установки на Android устройства воспользуйтесь FAQ ниже.

————

Starting with episode 5 we have reasonably decent iOS (8.0+) and Android (4.1+) support.

To install the app on your iOS device you could use an Apple Developer Program certificate or Cydia Impactor application. To copy game files the latest iTunes version is recommended.

To install on your Android device you may follow the FAQ below.
[+] Spoiler
Game path:
The game should be stored on any sdcard (emulated or external) in ONScripter-RU folder in the root of the sdcard.
* All the saves will be stored on the internal (emulated) sdcard due to external card being unwritable on some deivices/firmwares. For this reason you are not allowed to have ons.cfg (do not confuse with default.cfg) in the game folder if it is stored on the external sdcard.
* On some devices it is not possible to easily determine external sdcard path, and the game will fail to launch. If this happens create default.cfg file in ONScripter-RU folder on your internal (emulated) sdcard with 'root=/full/game/path' line without quotes.

Compatibility:
The game targets any armv7s, arm64, or x86 droid device on firmware 4.1 and newer, with at least 2 gigabytes of RAM and OpenGL ES 2.0 support with at least 4096 pixel texture dimension limit. However, newer os versions are generally preferred.
* Starting with droid 4.3 it is possible to use OpenGL ES 3.0 renderer on supported device models.
* Starting with droid 4.4 it is possible to use the whole screen space.
* Starting with droid 5.0 it is possible to gain from using 64-bit CPUs natively on supported device models.

Fixing visual glitches:
Some devices need render-self=no ons.cfg option to fix visual artifacts.

Fixing cropped image on wide-screen devices:
You need to update to r3569 or newer and specify manual screen offset used to shift left the game image in ons.cfg. For example, on Redmi Note 9 Pro with 2400x1080 screen it is system-offset-x=180.

Performance:
There are multiple performance issues at the moment and thus you should take good care of the configuration options described below.

Choosing renderer:
By default ONScripter-RU uses OpenGL ES 2.0 renderer and falls back to OpenGL ES 3.0 if OpenGL ES 2.0 renderer failed to initialise or if 'renderer-blacklist=GLES2' line is present in ons.cfg (!). OpenGL ES 3.0 may not be available on some devices, however, it may deliver slightly better performance.

Enabling hardware video decoding:
By default ONScripter-RU has hardware video decoding disabled on droid due to poor performance. However, you may be able to reduce power consumption by enabling it via 'hwdecoder=on' line in ons.cfg. Note that 1080p video playback is not guaranteed on any mobile devices regardless of this option.

Fallback texture loading:
When using OpenGL ES 2.0 renderer on certain devices you might be able to improve certain texture loading performance (e.g. Config menu) by using additional RAM caching. To enable this add 'texture-upload=ramcopy' to ons.cfg. Note that it may cause crashes on lower end devices having not enough memory. This setting is ignored when using OpenGL ES 3.0 renderer.

FPS limit:
You may be able to improve game performance and seriously reduce power consumption by limiting game fps to a lower value than 60 frames per second. To do so add 'force-fps=30' line to ons.cfg, where 30 is your preferred value. Note that you could additionally add 'force-vsync' line to ons.cfg to enable old-style vertical synchronisation, however it will unlikely benefit you in any way. Not setting a fps limit may result in getting rendering glitches like black stripes appearing in some scenes on some hardware.

Texture size limit:
You might get slightly better performance in some scenes by limiting the supported texture dimentsion limit to a lower value than your device supports. To do so add 'texlimit=4096' line to ons.cfg, where 4096 is a power-of-two value in pixels.

Getting log dumps:
You should install some adb drivers for your device, and then use command-line utility to obtain the necessary output. For example, on UNIX-like systems you could use:
adb logcat | grep --line-buffered -Ei 'sdl|onscripter' > /path/to/my/log.txt
Touch controls are the same for iOS and Android:
— single finger tap for left click
— double finger tap for right click
— triple finger tap for middle click
— two finger swipe for scroll
— three finger swipe right is skip
— three finger swipe left is automode
— three finger swipe up is mute
— three finger swipe down is tab (skip to next chapter)
Ginand
Posts: 7
Joined: 04 May 2018, 21:48
Gender: Male

Re: [EN/RU] Mobile devices / Мобильные устройства

Post by Ginand »

I keep having an "Invalid launch directory! error even though everything is seemingly in the right place. I triple checked all the folders and files. The file size is matching up. It's basically just been copy pasted from my PC folder (the .exe is working stunningly) onto the phone.
Everything is in "ONScripter-RU" which is in turn placed into the root folder, yet it seems like it doesn't even acknowledge the folders being where they're supposed to. I tried it with adding "root=ONScripter-RU" to default.cfg, but that was pretty much a wild attempt due to hitting a brick wall.
Any advice on what I can try next? Does the .apk perhaps drop a debug log somewhere?
vit9696
Администратор
Posts: 1767
Joined: 24 Feb 2015, 00:48
Gender: Male

Re: [EN/RU] Mobile devices / Мобильные устройства

Post by vit9696 »

Hi,

Unfortunately it is not possible for us to determine where the game is as Android does not offer any APIs in this direction. It is unfortunate, but as a result your idea about editing the default.cfg file with the root line is pretty much what one needs to do.

This line should contain not a relative (i.e. ONSCripter-RU) but actually a full path your sdcard. For example, one of our users had to add:

Code: Select all

root=/storage/0000-0000/ONScripter-RU
I think the software like "ES File Explorer" offers you a way to obtain the full path. Another way could be trying the adb.

Also, one of the common causes of visual glitches on Android is self-rendering, so if you get them try adding "render-self=no" first :)
Ginand
Posts: 7
Joined: 04 May 2018, 21:48
Gender: Male

Re: [EN/RU] Mobile devices / Мобильные устройства

Post by Ginand »

Thank you for the fast reply! Much obliged!
My apologies though, I meant to write down the full path but forgot after doublechecking the folder name. The actual path used was /storage/emulated/0/ONScripter-RU and I didn't have any luck with it.
vit9696
Администратор
Posts: 1767
Joined: 24 Feb 2015, 00:48
Gender: Male

Re: [EN/RU] Mobile devices / Мобильные устройства

Post by vit9696 »

Hmm, are you sure you added that to the correct default.cfg?
The thing is, you should not add to the ingame default.cfg (ONScripter-RU cannot find it), but actually to ONScripter-RU folder the game created itself to point the engine to the right sdcard. It should be in internal storage.
Ginand
Posts: 7
Joined: 04 May 2018, 21:48
Gender: Male

Re: [EN/RU] Mobile devices / Мобильные устройства

Post by Ginand »

That's probably it. Any pointers on where the apk generates the folder(or the exact name)? I had no luck searching the data manually nor over the search function.
vit9696
Администратор
Posts: 1767
Joined: 24 Feb 2015, 00:48
Gender: Male

Re: [EN/RU] Mobile devices / Мобильные устройства

Post by vit9696 »

I checked out the code, and it looks like we try our best effort by looking at the following environment variables and attempting to create ONScripter-RU directory in their root: EXTERNAL_STORAGE, SECONDARY_STORAGE, EXTERNAL_SDCARD_STORAGE.
Basically this should create a directory in the root of (some) of your memory where DCIM folder (the one to store photos) is. If it does not work, you can always create ONScripter-RU folder there yourself and put there a default.cfg file with just a root=/path/to/game line.
Good luck!
Ginand
Posts: 7
Joined: 04 May 2018, 21:48
Gender: Male

Re: [EN/RU] Mobile devices / Мобильные устройства

Post by Ginand »

That's interesting. It didn't generate at all for me. Subsequent uninstallations and reinstallations made no difference either. And the attempts to make one and put the config inside didn't bear fruit either. This shouldn't require a rooted device, I believe, right? I'm positive the issue is that the path isn't getting recognized. So close.
It'd be convenient to see an example of a configuration that worked, but sadly none on the dev team use android, right?
vit9696
Администратор
Posts: 1767
Joined: 24 Feb 2015, 00:48
Gender: Male

Re: [EN/RU] Mobile devices / Мобильные устройства

Post by vit9696 »

No, there definitely is no need to have root. Could you tell us a little more about your device? Android version, the amount of SD cards and their full paths (internal and external whatever it names them), the firmware name/build, perhaps the model name.

We got our hands on a couple of devices during Android support development, and it worked out of the box, i.e. recognised the storage paths and we did not need to specify anything like that. Problems like you face only seem to appear at our tester devices, and thus the workarounds. There was not the case where it did not function entirely, so if you have enough patience I am sure we can resolve this.

Might you have some courage to help us debug it? I know it may sound painful, but without logs there hardly is a way to understand what is going on. Could you please install adb on your PC and run adb logcat? There is a very good how to on how to install adb: https://www.xda-developers.com/install- ... cos-linux/

After you obtain the logs (adb logcat > log.txt) please upload them here (you may need to archive them or just copy-paste under a spoiler). You can filter the contents by sdl/onscripter-ru. If you think the file contains any private information, you may PM me.
Ginand
Posts: 7
Joined: 04 May 2018, 21:48
Gender: Male

Re: [EN/RU] Mobile devices / Мобильные устройства

Post by Ginand »

Thank you for your patience. I was afraid of bugging you folks with this too much with this. I'm off to vacation in a few days and really hoped to get this version of Umineko up and running on mobile to help fill the long rides.
Model: Lenovo Moto G5
Android Version: 7.0
SD Card: One, but it's been formatted to serve as an extension of the internal storage. So there's only storage/emulated/0/
I currently have it set as storage/emulated/0/ONScripter-RU (only has the configuration file) and a separate directory for the game to which the .cfg leads to. Same error though.

Now, a few interesting things happened. I was getting the usual error until I started debugging. While the log dump was happening, I opened the game again so the log gets the necessary info. The error has changed, this time not starting due to a opengl resolution error. I checked the config to see if the resolution was set as too high (it wasn't), and went back to start the game and write down the error. Except this time the game actually booted up and started verifying game files.
I'm not entirely sure how android indexes file, but considering the bigger filesize, could it be possible that renaming the folder... actually took this long to take effect? Odd.


EDIT:
Interestingly enough, the game returns to being unable to start if the rendered is changed.

There is some noticeable visual tearing on some textures (like character mouths), but I can live with that.
Great work on this project!
Post Reply