diff --git a/sys/android/app/build.gradle b/sys/android/app/build.gradle index 52fbfd190..fbfa58ecf 100644 --- a/sys/android/app/build.gradle +++ b/sys/android/app/build.gradle @@ -25,8 +25,8 @@ android { applicationId 'com.skwidge.nethack' minSdk 24 targetSdk 36 - versionName '3.6.7-6' - versionCode 3676 + versionName '3.6.7-7' + versionCode 3677 } compileOptions { diff --git a/sys/android/app/res/values/config.xml b/sys/android/app/res/values/config.xml index 4a49d199c..58e76bc78 100644 --- a/sys/android/app/res/values/config.xml +++ b/sys/android/app/res/values/config.xml @@ -11,4 +11,6 @@ Gurr Android Nethack 3.6.0 Arc|Bar|Cav|Hea|Kni|Mon|Pri|Rog|Ran|Sam|Tou|Val|Wiz 54 + default_32 + 24 diff --git a/sys/android/forkfront/res/values/config.xml b/sys/android/forkfront/res/values/config.xml index 35b2079cb..82f089cc0 100644 --- a/sys/android/forkfront/res/values/config.xml +++ b/sys/android/forkfront/res/values/config.xml @@ -13,4 +13,8 @@ false false + + TTY + + 0 diff --git a/sys/android/forkfront/src/com/tbd/forkfront/NHW_Map.java b/sys/android/forkfront/src/com/tbd/forkfront/NHW_Map.java index 46f187590..e684647b1 100644 --- a/sys/android/forkfront/src/com/tbd/forkfront/NHW_Map.java +++ b/sys/android/forkfront/src/com/tbd/forkfront/NHW_Map.java @@ -575,7 +575,10 @@ public void loadZoomLevel() { float zoomLevel = 0; try { - zoomLevel = prefs.getFloat("zoomLevel", 0.f); + if(prefs.contains("zoomLevel")) + zoomLevel = prefs.getFloat("zoomLevel", 0.f); + else + zoomLevel = getDefaultZoomLevel(); } catch(Exception e) { @@ -583,6 +586,17 @@ public void loadZoomLevel() { zoom(zoomLevel - mScaleCount); } + // ____________________________________________________________________________________ + // The zoom used until the player zooms: tiles defaultTileSizeDp tall on any screen + // density, or the unscaled tile size if that is 0. + private float getDefaultZoomLevel() { + int tileSizeDp = mContext.getResources().getInteger(R.integer.defaultTileSizeDp); + if(tileSizeDp <= 0) + return 0; + float scale = tileSizeDp * mDisplayDensity / mUI.getBaseTileHeight(); + return (float)(Math.log(scale) / Math.log(ZOOM_BASE)); + } + // ____________________________________________________________________________________ // // // // ____________________________________________________________________________________ // diff --git a/sys/android/forkfront/src/com/tbd/forkfront/Tileset.java b/sys/android/forkfront/src/com/tbd/forkfront/Tileset.java index 281167d38..7584ca476 100644 --- a/sys/android/forkfront/src/com/tbd/forkfront/Tileset.java +++ b/sys/android/forkfront/src/com/tbd/forkfront/Tileset.java @@ -51,7 +51,7 @@ public void updateTileset(SharedPreferences prefs, Resources r) mFallbackRenderer = prefs.getBoolean("fallbackRenderer", false); - String tilesetName = prefs.getString("tileset", "TTY"); + String tilesetName = prefs.getString("tileset", r.getString(R.string.defaultTileset)); boolean TTY = tilesetName.equals("TTY"); int tileW = prefs.getInt("tileW", 32); diff --git a/sys/android/forkfront/src/com/tbd/forkfront/TilesetPreference.java b/sys/android/forkfront/src/com/tbd/forkfront/TilesetPreference.java index dec6ac3aa..c43676706 100644 --- a/sys/android/forkfront/src/com/tbd/forkfront/TilesetPreference.java +++ b/sys/android/forkfront/src/com/tbd/forkfront/TilesetPreference.java @@ -135,7 +135,7 @@ protected void onBindView(View view) super.onBindView(view); SharedPreferences prefs = getSharedPreferences(); - String currentValue = prefs.getString("tileset", TTY); + String currentValue = prefs.getString("tileset", getContext().getString(R.string.defaultTileset)); int i = mEntryValues.indexOf(currentValue); if(i < 0)