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;