bvschaik / julius

An open source re-implementation of Caesar III
GNU Affero General Public License v3.0
2.79k stars 312 forks source link

Gamespeed not changing on Android #652

Closed Chaotrax closed 1 year ago

Chaotrax commented 2 years ago

When I change Gamespeed on Android it has no effect, the Game always runs at 100% Samsung Tab 2016 SM-T850 Android Version 10 Caesar 3 GOG-Version Lineage OS 17.1 (unofficial build for gtaxlwifi)

crudelios commented 2 years ago

What are you using to change game speed?

You have many options available to do so and without knowing what exactly you're doing to try and change game speed, we can't help you out.

Chaotrax commented 2 years ago

I tried changing gamespeed in the options-dropdownmenu ingame. I don't know of any other option to change gamespeed in Julius or Caesar than throught the optionstab, because i don't have a keyboard connected on Android

crudelios commented 2 years ago

If you enable the extra sidebar options, there should be a spot where you can change the game speed more easily.

However, using the drop down menu I'm able to change the game speed, so I'm not sure what's going on. Stupid question but are you pressing ok instead of cancel?

Chaotrax commented 2 years ago

Good point, yes i press okay, when i open the menu again the gamespeed is still selected, it just doesnt matter. I tried augustus before where there is the sidebar enabled by default iirc, but I had the same bug there (to be precise, I encountered it there first and then found out that the problem exists in julius too). I tried the gamefiles in linux with julius, no problems. The Gamefiles are on a sdcard but that shouldn't matter right? (I dont have enough internal storage to test if it makes a difference)

crudelios commented 2 years ago

Stupid question number 2: perhaps you're changing the scroll speed, not the game speed?

I don't understand why it doesn't change, I don't have that issue on android at all, it works just fine.

I'm guessing the game speed %also stays at 100% right?

Chaotrax commented 2 years ago

I uploaded some videofootage: https://youtu.be/VU_IhOygtuM The Game is in german but i also tried it with the english-version too, nothing changed

bvschaik commented 2 years ago

Game files on SD card shouldn't matter at all.

This is a really weird issue. Looking at the video, the game is not running at 100%: it's doing about 1 month in a second, which means it's running at about 1000%...

Question: if you load a savegame with some buildings (or try to build a city, but that may be challenging at this speed): are the building animations, for example for granaries, also way too fast?

I suspect that there's something wrong with SDL's timer, perhaps in combination with LineageOS. Did you install from the Play Store or did you use the .apk?

Chaotrax commented 2 years ago

I installed it from the Playstore, but Augustus - where i had the same Problem - was installed using the apk Buildinganimations are way too fast, Granaries just pop up.

crudelios commented 2 years ago

I also noticed that the videos don't play at all, they're immediately stuck on the last video frame.

Out of curiosity, if you enable the intro videos then restart the game, what do you get?

Chaotrax commented 2 years ago

Blackscreen, some voice overs that doesn't play fully and after about half a minute the app crashes an I'm back at the homescreen

bvschaik commented 2 years ago

@Chaotrax I upgraded a bunch of Android libraries and the compiler used to create the Android build, maybe it helps... Could you try the latest development APK?

Chaotrax commented 2 years ago

I tried and it didn't fix it, I'm sry. Maybe its just my device that has some problems

bvschaik commented 2 years ago

Maybe its just my device that has some problems

I was afraid this wouldn't help. We suspect there's either something wrong with the timer in your build of LineageOS or in SDL.

@Chaotrax I created a small sample app that might get us a bit further. What it basically does is read out the system clock, and measure time between button clicks. It gets the time both from the Android system and from the native code that Julius also uses. Could you test it?

  1. Install the test apk - it's signed with a dummy key so you might have to click "install anyway".
  2. Hit the "measure time" button once. I expect the "Native time" bit to say "Current time: 0"
  3. Hit the "measure time" button a few more times. Every time you tap it, the "Millis since last button press" value for "Android time" and "Native time" should be about the same. A few milliseconds difference is OK.

If you get any other results for steps 2 and 3, please report them.

bvschaik commented 1 year ago

Closing due to inactivity.