From aba773d1c0ea8d5b75f8feff9db2eeaca5427869 Mon Sep 17 00:00:00 2001 From: mittorn Date: Sun, 8 May 2016 08:44:32 +0000 Subject: [PATCH] Pixel format selection spinner --- res/layout/activity_launcher.xml | 8 ++++ src/in/celest/xash3d/LauncherActivity.java | 19 ++++++++ src/in/celest/xash3d/XashActivity.java | 52 ++++++++++++---------- 3 files changed, 56 insertions(+), 23 deletions(-) diff --git a/res/layout/activity_launcher.xml b/res/layout/activity_launcher.xml index 8e652f5b..fa08ecca 100644 --- a/res/layout/activity_launcher.xml +++ b/res/layout/activity_launcher.xml @@ -233,6 +233,14 @@ android:layout_marginTop="10dp" android:onClick="createShortcut" android:text="@string/create_shortcut_button" /> + adapter = new ArrayAdapter(this,android.R.layout.simple_spinner_item, list); + //ArrayAdapter adapter = ArrayAdapter.createFromResource(this, list, android.R.layout.simple_spinner_item); + adapter.setDropDownViewResource(android.R.layout.simple_spinner_item); + pixelSpinner.setAdapter(adapter); Button selectFolderButton = ( Button ) findViewById( R.id.button_select ); selectFolderButton.setOnClickListener(new View.OnClickListener(){ @Override @@ -101,6 +118,7 @@ public class LauncherActivity extends Activity { useVolume.setChecked(mPref.getBoolean("usevolume",true)); resPath = ( EditText ) findViewById( R.id.cmdPath ); resPath.setText(mPref.getString("basedir", getDefaultPath())); + pixelSpinner.setSelection(mPref.getInt("pixelformat", 0)); } public void startXash(View view) @@ -112,6 +130,7 @@ public class LauncherActivity extends Activity { editor.putString("argv", cmdArgs.getText().toString()); editor.putBoolean("usevolume",useVolume.isChecked()); editor.putString("basedir", resPath.getText().toString()); + editor.putInt("pixelformat", pixelSpinner.getSelectedItemPosition()); editor.commit(); startActivity(intent); } diff --git a/src/in/celest/xash3d/XashActivity.java b/src/in/celest/xash3d/XashActivity.java index 88e904f8..0be1e9e6 100644 --- a/src/in/celest/xash3d/XashActivity.java +++ b/src/in/celest/xash3d/XashActivity.java @@ -30,6 +30,7 @@ public class XashActivity extends Activity { private static EngineSurface mSurface; public static String mArgv[]; public static final int sdk = Integer.valueOf(Build.VERSION.SDK); + public static int mPixelFormat; // Preferences public static SharedPreferences mPref = null; @@ -109,6 +110,7 @@ public class XashActivity extends Activity { { e.printStackTrace(); } + mPixelFormat = mPref.getInt("pixelformat", 0); } // Events @@ -422,51 +424,55 @@ View.OnKeyListener { int[] version = new int[2]; egl.eglInitialize(dpy, version); - int[] configSpec1 = { + int[][] configSpec = {{ EGL10.EGL_DEPTH_SIZE, 8, EGL10.EGL_RED_SIZE, 8, EGL10.EGL_GREEN_SIZE, 8, EGL10.EGL_BLUE_SIZE, 8, EGL10.EGL_ALPHA_SIZE, 8, EGL10.EGL_NONE - }; - int[] configSpec2 = { + }, { + EGL10.EGL_DEPTH_SIZE, 8, + EGL10.EGL_RED_SIZE, 8, + EGL10.EGL_GREEN_SIZE, 8, + EGL10.EGL_BLUE_SIZE, 8, + EGL10.EGL_ALPHA_SIZE, 0, + EGL10.EGL_NONE + }, { EGL10.EGL_DEPTH_SIZE, 8, EGL10.EGL_RED_SIZE, 5, EGL10.EGL_GREEN_SIZE, 6, EGL10.EGL_BLUE_SIZE, 5, - EGL10.EGL_ALPHA_SIZE, 8, + EGL10.EGL_ALPHA_SIZE, 0, EGL10.EGL_NONE - }; - int[] configSpec3 = { + }, { EGL10.EGL_DEPTH_SIZE, 8, EGL10.EGL_RED_SIZE, 5, - EGL10.EGL_GREEN_SIZE, 6, + EGL10.EGL_GREEN_SIZE, 5, EGL10.EGL_BLUE_SIZE, 5, EGL10.EGL_ALPHA_SIZE, 1, + EGL10.EGL_NONE - }; - int[] configSpec4 = { + }, { EGL10.EGL_DEPTH_SIZE, 8, - EGL10.EGL_RED_SIZE, 8, - EGL10.EGL_GREEN_SIZE, 8, - EGL10.EGL_BLUE_SIZE, 8, + EGL10.EGL_RED_SIZE, 4, + EGL10.EGL_GREEN_SIZE, 4, + EGL10.EGL_BLUE_SIZE, 4, + EGL10.EGL_ALPHA_SIZE, 4, + EGL10.EGL_NONE - }; - int[] configSpec5 = { + }, { EGL10.EGL_DEPTH_SIZE, 8, - EGL10.EGL_RED_SIZE, 5, - EGL10.EGL_GREEN_SIZE, 6, - EGL10.EGL_BLUE_SIZE, 5, + EGL10.EGL_RED_SIZE, 3, + EGL10.EGL_GREEN_SIZE, 3, + EGL10.EGL_BLUE_SIZE, 2, + EGL10.EGL_ALPHA_SIZE, 0, + EGL10.EGL_NONE - }; + }}; EGLConfig[] configs = new EGLConfig[1]; int[] num_config = new int[1]; - if (!egl.eglChooseConfig(dpy, configSpec1, configs, 1, num_config) || num_config[0] == 0) - if (!egl.eglChooseConfig(dpy, configSpec2, configs, 1, num_config) || num_config[0] == 0) - if (!egl.eglChooseConfig(dpy, configSpec3, configs, 1, num_config) || num_config[0] == 0) - if (!egl.eglChooseConfig(dpy, configSpec4, configs, 1, num_config) || num_config[0] == 0) - if (!egl.eglChooseConfig(dpy, configSpec5, configs, 1, num_config) || num_config[0] == 0) + if (!egl.eglChooseConfig(dpy, configSpec[XashActivity.mPixelFormat], configs, 1, num_config) || num_config[0] == 0) { Log.e("SDL", "No EGL config available"); return false;