Skip to content

Latest commit

 

History

History
92 lines (72 loc) · 6.4 KB

info.md

File metadata and controls

92 lines (72 loc) · 6.4 KB

Some Infos found out

Input limits

There are Limits to how much value you can add.
The limit for the wallet.json is the 32-bit integer wich is 2,147,483,647. That's why everything is only 2100000000, the reason is, if the number is at the limit and only + 1 would happen the whole number would turn over and the value goes into minus (With which you cant do anything). That way there are about a hundred million coins/keys/.. buffer that you can collect before this happens.

To set the Highscore you actually have to edit two files with the same number (but they also can be different).
user_stats.json is the local highscore which you can see next to the crown over the "What's New?" button.
top_run.json is the score viewable in the "Top Run" list (on opening the leaderboard).
Both files user_stats.json have the 32-bit integer limit which is 2,147,483,647. The top_run.json had until 3.29.0 has had the 64-bit integer limit which is 9,223,372,036,854,775,807, was changed to the 32-bit limit.

Play old SubwaySurfers app versions

You can still play the old versions of the SubwaySurfers app, by downloading them from apkmirror.com.
On the bottom left of the Download APK page, you can see the apk upload date, which you need to set your phone's date to, to avoid the annoying Download Update popup.

Creating weird stuff

When finding out what the best highest number for the expirationValue in upgrades.json is,
I found out that when the number is set too high (the first try was 64-bit) and the Token Boost widget duplicates itself multiple times under each other (which got really laggy). So the highest number is 99999999999999.

When editing shortcut or icon values in any file, they will stay and the values dont reset. This means you can Link any button to any (available) page or you can set all icons to specific icons. You can get a list of the available icons and shortcuts list here.

Value Ids

Id Name Default Value File
highscore Highscore 2147483647 Android/.../user_stats.json
currentScore CurrentScore 2147483647 Android/.../top_run.json
1 Coins 2100000000 Android/.../wallet.json
2 Keys 2100000000 Android/.../wallet.json
3 Shop Boards 2100000000 Android/.../wallet.json
4 Shop Headstart 2100000000 Android/.../wallet.json
5 Shop Score Booster 2100000000 Android/.../wallet.json
6 Event Coins 2100000000 Android/.../wallet.json
collectedTokens Season Tokens 2 Android/.../season_hunt.json
doubleCoins Double Coins 2 Android/.../upgrades.json
permanent_score_multiplier.expirationValue Token Boost Time 999999999999999 Android/.../upgrades.json
token_multiplier_low.expirationValue Token Boost Time 99999999999999 Android/.../upgrades.json

(Inside the Player Profile from right to left)

Nmae Place Default Value File
Champ 102 2147483647 Android/.../user_stats.json
Diamond 103 2147483647 Android/.../user_stats.json
Gold 104 2147483647 Android/.../user_stats.json
Silver 105 2147483647 Android/.../user_stats.json
Bronze 106 2147483647 Android/.../user_stats.json

Assets encrypted/compiled

Since the 3.29.1 update, the json files in the assets/tower/gamedata directory of the APK are now encrypted.
It seems like they are in some form compiled. This change prevents me from updating SubwayBooster, as it is no longer possible to read the necessary files.
Therefore, SubwayBooster will remain at version 1.4.0 until it is possible to decrypt or decompile the files and access the data again.

IOS Game Version

Apparently Sybo still dosnt encrypt the save files of the IOS version, nor the assets files. If that changes in the future, we will have to see. Until then SubwayBooster will use the IOS version of the game and extract the assets files, which have the same format.

File Version

All files have a version key. Some save files might not work and get corrupted if their version doesn't match what's needed by the app. The weird thing is that not all files are like this and will still work. But it is still something to check for.