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)