Merge pull request #157 from NoblesseOblige/master

Emulator initial time, Visual enhancements for menus
This commit is contained in:
TwistedUmbrella 2014-01-26 00:55:59 -08:00
commit 4e8c96279f
5 changed files with 439 additions and 251 deletions

View File

@ -4,284 +4,431 @@
android:layout_height="match_parent"
android:orientation="vertical" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TableLayout
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:stretchColumns="*" >
android:orientation="vertical" >
<TableRow android:gravity="center_vertical" >
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:stretchColumns="*" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10"
android:text="@string/customize_touch_controls" />
<TableRow android:gravity="center_vertical" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="right"
android:orientation="vertical" >
<Button
android:id="@+id/buttonLaunchEditor"
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="8"
android:text="@string/launch_editor" />
</LinearLayout>
</TableRow>
android:ems="10"
android:text="@string/customize_touch_controls" />
<TableRow
android:layout_marginTop="25dp"
android:gravity="center_vertical" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:ems="10"
android:gravity="center_vertical|left"
android:text="@string/touch_vibration" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="right"
android:orientation="vertical" >
<de.ankri.views.Switch
android:id="@+id/switchTouchVibrationEnabled"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
</TableRow>
<TableRow
android:layout_marginTop="25dp"
android:gravity="center_vertical" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10"
android:text="@string/customize_physical_controls" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="right"
android:orientation="vertical" >
<Button
android:id="@+id/buttonKeycodeEditor"
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="8"
android:text="@string/launch_editor" />
</LinearLayout>
</TableRow>
</TableLayout>
android:gravity="right"
android:orientation="vertical" >
<TableLayout
android:id="@+id/input_devices"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:stretchColumns="*" >
<Button
android:id="@+id/buttonLaunchEditor"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="8"
android:text="@string/launch_editor" />
</LinearLayout>
</TableRow>
<TableRow
android:layout_marginTop="25dp"
android:gravity="center_vertical" >
<TableRow
android:layout_marginTop="25dp"
android:gravity="center_vertical" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10"
android:gravity="center_vertical|left"
android:text="@string/controller_a" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:ems="10"
android:gravity="center_vertical|left"
android:text="@string/touch_vibration" />
<TextView
android:id="@+id/textViewDeviceDescriptorPlayer1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10"
android:gravity="center_vertical|left"
android:text="@string/controller_none_selected" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="right"
android:orientation="vertical" >
<Button
android:id="@+id/buttonSelectControllerPlayer1"
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="6"
android:text="@string/select" />
android:gravity="right"
android:orientation="vertical" >
<Button
android:id="@+id/buttonRemoveControllerPlayer1"
<de.ankri.views.Switch
android:id="@+id/switchTouchVibrationEnabled"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
</TableRow>
<TableRow
android:layout_marginTop="25dp"
android:gravity="center_vertical" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="6"
android:text="@string/remove" />
</LinearLayout>
</TableRow>
android:ems="10"
android:text="@string/customize_physical_controls" />
<TableRow
android:layout_marginTop="25dp"
android:gravity="center_vertical" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10"
android:gravity="center_vertical|left"
android:text="@string/controller_b" />
<TextView
android:id="@+id/textViewDeviceDescriptorPlayer2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10"
android:gravity="center_vertical|left"
android:text="@string/controller_none_selected" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="right"
android:orientation="vertical" >
<Button
android:id="@+id/buttonSelectControllerPlayer2"
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="6"
android:text="@string/select" />
android:gravity="right"
android:orientation="vertical" >
<Button
android:id="@+id/buttonRemoveControllerPlayer2"
<Button
android:id="@+id/buttonKeycodeEditor"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="8"
android:text="@string/launch_editor" />
</LinearLayout>
</TableRow>
</TableLayout>
<TableLayout
android:id="@+id/input_devices"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:stretchColumns="*" >
<TableRow
android:layout_marginTop="25dp"
android:gravity="center_vertical" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="6"
android:text="@string/remove" />
</LinearLayout>
</TableRow>
android:gravity="center_vertical|left"
android:orientation="horizontal" >
<TableRow
android:layout_marginTop="25dp"
android:gravity="center_vertical" >
<RelativeLayout
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_marginLeft="6dp"
android:orientation="vertical" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10"
android:gravity="center_vertical|left"
android:text="@string/controller_c" />
<ImageView
android:id="@+id/controller_icon_a"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_centerInParent="true"
android:scaleType="fitCenter"
android:src="@drawable/input" />
<TextView
android:id="@+id/textViewDeviceDescriptorPlayer3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10"
android:gravity="center_vertical|left"
android:text="@string/controller_none_selected" />
<TextView
android:id="@+id/controller_text_a"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="A"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="#ff0000"
android:textIsSelectable="false"
android:textStyle="bold" />
</RelativeLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="right"
android:orientation="vertical" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="6dp"
android:layout_weight="1"
android:orientation="vertical" >
<Button
android:id="@+id/buttonSelectControllerPlayer3"
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:text="@string/controller_a" />
<TextView
android:id="@+id/textViewDeviceDescriptorPlayer1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:text="@string/controller_none_selected" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="6"
android:text="@string/select" />
android:gravity="right"
android:orientation="vertical" >
<Button
android:id="@+id/buttonRemoveControllerPlayer3"
<Button
android:id="@+id/buttonSelectControllerPlayer1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="6"
android:text="@string/select" />
<Button
android:id="@+id/buttonRemoveControllerPlayer1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="6"
android:text="@string/remove" />
</LinearLayout>
</TableRow>
<TableRow
android:layout_marginTop="25dp"
android:gravity="center_vertical" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="6"
android:text="@string/remove" />
</LinearLayout>
</TableRow>
android:gravity="center_vertical|left"
android:orientation="horizontal" >
<TableRow
android:layout_marginTop="25dp"
android:gravity="center_vertical" >
<RelativeLayout
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_marginLeft="6dp"
android:orientation="vertical" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10"
android:gravity="center_vertical|left"
android:text="@string/controller_d" />
<ImageView
android:id="@+id/controller_icon_b"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_centerInParent="true"
android:scaleType="fitCenter"
android:src="@drawable/input" />
<TextView
android:id="@+id/textViewDeviceDescriptorPlayer4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10"
android:gravity="center_vertical|left"
android:text="@string/controller_none_selected" />
<TextView
android:id="@+id/controller_text_b"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="B"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="#0000ff"
android:textIsSelectable="false"
android:textStyle="bold" />
</RelativeLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="right"
android:orientation="vertical" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="6dp"
android:layout_weight="1"
android:orientation="vertical" >
<Button
android:id="@+id/buttonSelectControllerPlayer4"
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:text="@string/controller_b" />
<TextView
android:id="@+id/textViewDeviceDescriptorPlayer2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:text="@string/controller_none_selected" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="6"
android:text="@string/select" />
android:gravity="right"
android:orientation="vertical" >
<Button
android:id="@+id/buttonRemoveControllerPlayer4"
<Button
android:id="@+id/buttonSelectControllerPlayer2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="6"
android:text="@string/select" />
<Button
android:id="@+id/buttonRemoveControllerPlayer2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="6"
android:text="@string/remove" />
</LinearLayout>
</TableRow>
<TableRow
android:layout_marginTop="25dp"
android:gravity="center_vertical" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="6"
android:text="@string/remove" />
</LinearLayout>
</TableRow>
</TableLayout>
android:gravity="center_vertical|left"
android:orientation="horizontal" >
</LinearLayout>
<RelativeLayout
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_marginLeft="6dp"
android:orientation="vertical" >
</ScrollView>
<ImageView
android:id="@+id/controller_icon_c"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_centerInParent="true"
android:scaleType="fitCenter"
android:src="@drawable/input" />
<TextView
android:id="@+id/controller_text_c"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="C"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="#ffff00"
android:textIsSelectable="false"
android:textStyle="bold" />
</RelativeLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="6dp"
android:layout_weight="1"
android:orientation="vertical" >
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:text="@string/controller_c" />
<TextView
android:id="@+id/textViewDeviceDescriptorPlayer3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:text="@string/controller_none_selected" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="right"
android:orientation="vertical" >
<Button
android:id="@+id/buttonSelectControllerPlayer3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="6"
android:text="@string/select" />
<Button
android:id="@+id/buttonRemoveControllerPlayer3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="6"
android:text="@string/remove" />
</LinearLayout>
</TableRow>
<TableRow
android:layout_marginTop="25dp"
android:gravity="center_vertical" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center_vertical|left"
android:orientation="horizontal" >
<RelativeLayout
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_marginLeft="6dp"
android:orientation="vertical" >
<ImageView
android:id="@+id/controller_icon_d"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_centerInParent="true"
android:scaleType="fitCenter"
android:src="@drawable/input" />
<TextView
android:id="@+id/controller_text_d"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="D"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="#00ff00"
android:textIsSelectable="false"
android:textStyle="bold" />
</RelativeLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="6dp"
android:layout_weight="1"
android:orientation="vertical" >
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:text="@string/controller_d" />
<TextView
android:id="@+id/textViewDeviceDescriptorPlayer4"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:text="@string/controller_none_selected" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="right"
android:orientation="vertical" >
<Button
android:id="@+id/buttonSelectControllerPlayer4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="6"
android:text="@string/select" />
<Button
android:id="@+id/buttonRemoveControllerPlayer4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="6"
android:text="@string/remove" />
</LinearLayout>
</TableRow>
</TableLayout>
</LinearLayout>
</ScrollView>

View File

@ -14,34 +14,53 @@
<string name="missing_flash">行方不明に点滅します。ドリームキャストのFlashが動作するためにこのエミュレータに必要です。 Flashファイル内に配置します %1$s/data/dc_flash.bin</string>
<string name="require_bios">あなたは、BIOSを提供する必要が</string>
<string name="folder_bios">BOOT BIOS</string>
<string name="folder_select">SELECT CURRENT FOLDER</string>
<string name="folder_bios">BOOT BIOS</string>
<string name="folder_select">現在のフォルダを選択</string>
<string name="select_dynarec">Dynarec Options</string>
<string name="select_unstable">Unstable Optimisations</string>
<string name="select_region">DC Region</string>
<string name="select_limitfps">Limit FPS</string>
<string name="select_mipmaps">Use Mipmaps (古いSGX540のために修正)</string>
<string name="select_stretch">Widescreen Mode</string>
<string name="set_frameskip">Frameskip Value</string>
<string name="select_render">PVR Rendering</string>
<string name="select_dynarec">Dynarecオプション</string>
<string name="select_unstable">不安定な最適化</string>
<string name="select_region">DC地域</string>
<string name="select_limitfps">限界FPS</string>
<string name="select_mipmaps">ミップマップを使用してくださいSGX540フィックス</string>
<string name="select_stretch">ワイドスクリーンモード</string>
<string name="set_frameskip">フレーム船舶の価値</string>
<string name="select_render">PVRレンダリング</string>
<string name="games_listing">利用可能なドリームキャストのゲーム</string>
<string name="customize_touch_controls">Customize Touch Controls</string>
<string name="launch_editor">Launch Editor</string>
<string name="touch_vibration">Touch Vibration</string>
<string name="customize_touch_controls">タッチコントロールをカスタマイズする</string>
<string name="launch_editor">エディタを起動します</string>
<string name="touch_vibration">振動をタッチ</string>
<string name="controller_a">コントローラ A</string>
<string name="controller_b">コントローラ B</string>
<string name="controller_c">コントローラ C</string>
<string name="controller_d">コントローラ D</string>
<string name="controller_not_connected">Controller Not Connected</string>
<string name="controller_none_selected">No Controller Selected</string>
<string name="controller_not_connected">コントローラ接続されていません</string>
<string name="controller_none_selected">でコントローラ選択されていません</string>
<string name="select">選択する</string>
<string name="remove">削除する</string>
<string name="select_controller_title">セレクトコントローラ</string>
<string name="select_controller_message">ポートに割り当てるコントローラのいずれかのボタンを押してください</string>
<string name="controller_already_in_use">このコントローラは、すでに使用されています!</string>
<string name="modified_layout">カスタムキーレイアウトを可能にする</string>
<string name="controller_compat">互換モードを有効にする</string>
<string name="customize_physical_controls">物理コントロールをカスタマイズする</string>
<string name="map_keycode_title">コントローラを変更する</string>
<string name="map_keycode_message">のための新しいコントローラのボタンを押してください %1$s</string>
<string name="moga_pro_connect">MOGAプロ接続!</string>
<string name="moga_connect">MOGA接続!</string>
<string name="about_title">reicastについて</string>
<string name="about_text">reicastはドリームキャストエミュレータです\n\nバージョン: %1$s</string>
<string-array name="controllers">
<item>コントローラ A</item>
<item>コントローラ B</item>
<item>コントローラ C</item>
<item>コントローラ D</item>
</string-array>
<string-array name="images">
<item>cdi</item>
@ -56,16 +75,16 @@
<item>(Default)</item>
</string-array>
<string name="drawer_open">Slider Menu Opened</string>
<string name="drawer_close">Slider Menu Closed</string>
<string name="drawer_open">スライダーメニューがオープン</string>
<string name="drawer_close">スライダーメニューが休館</string>
<!-- Nav Drawer Menu Items -->
<string-array name="nav_drawer_items">
<item>Browser</item>
<item>Settings</item>
<item>Paths</item>
<item>Controllers</item>
<item>About</item>
<item>ブラウザ</item>
<item>セッティング</item>
<item>パス</item>
<item>コントローラー</item>
<item>およそ</item>
</string-array>
<!-- Nav Drawer List Item Icons -->

View File

@ -53,7 +53,7 @@
<string name="moga_connect">MOGA Connected!</string>
<string name="about_title">About reicast</string>
<string name="about_text">reicast is a dreamcast emulator\n\nVersion: %1$s\n\n</string>
<string name="about_text">reicast is a dreamcast emulator\n\nVersion: %1$s</string>
<string-array name="controllers">
<item>Controller A</item>

View File

@ -378,8 +378,7 @@ public class ConfigureFragment extends Fragment {
reader.close();
mLogcatProc = null;
reader = null;
int PID = android.os.Process
.getUidForName("com.reicast.emulator");
int PID = android.os.Process.getUidForName("com.reicast.emulator");
mLogcatProc = Runtime.getRuntime().exec(
new String[] { "logcat", "-d", "|", "grep " + PID });
reader = new BufferedReader(new InputStreamReader(
@ -476,6 +475,11 @@ public class ConfigureFragment extends Fragment {
currentLine = scanner.nextLine();
if (StringUtils.containsIgnoreCase(currentLine, identifier)) {
rebuildFile.append(identifier + "=" + value + "\n");
} else if (StringUtils.containsIgnoreCase(currentLine,
"Dreamcast.RTC")) {
rebuildFile.append("Dreamcast.RTC="
+ String.valueOf(System.currentTimeMillis())
+ "\n");
} else {
rebuildFile.append(currentLine + "\n");
}
@ -508,8 +512,10 @@ public class ConfigureFragment extends Fragment {
rebuildFile.append("Dynarec.idleskip=1" + "\n");
rebuildFile.append("Dynarec.unstable-opt=" + String.valueOf(unstableopt ? 1 : 0) + "\n");
rebuildFile.append("Dreamcast.Cable=3" + "\n");
rebuildFile.append("Dreamcast.RTC=2018927206" + "\n");
rebuildFile.append("Dreamcast.Region=" + String.valueOf(dcregion) + "\n");
rebuildFile.append("Dreamcast.RTC="
+ String.valueOf(System.currentTimeMillis()) + "\n");
rebuildFile.append("Dreamcast.Region=" + String.valueOf(dcregion)
+ "\n");
rebuildFile.append("Dreamcast.Broadcast=4" + "\n");
rebuildFile.append("aica.LimitFPS=" + String.valueOf(limitfps ? 1 : 0) + "\n");
rebuildFile.append("aica.NoBatch=0" + "\n");

View File

@ -20,6 +20,7 @@ import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.CompoundButton;
import android.widget.ImageView;
import android.widget.TableLayout;
import android.widget.TextView;
import android.widget.Toast;
@ -50,6 +51,21 @@ public class InputFragment extends Fragment {
parentActivity = getActivity();
sharedPreferences = PreferenceManager.getDefaultSharedPreferences(parentActivity);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
ImageView icon_a = (ImageView) getView().findViewById(
R.id.controller_icon_a);
icon_a.setAlpha(0.8f);
ImageView icon_b = (ImageView) getView().findViewById(
R.id.controller_icon_b);
icon_b.setAlpha(0.8f);
ImageView icon_c = (ImageView) getView().findViewById(
R.id.controller_icon_c);
icon_c.setAlpha(0.8f);
ImageView icon_d = (ImageView) getView().findViewById(
R.id.controller_icon_d);
icon_d.setAlpha(0.8f);
}
Button buttonLaunchEditor = (Button) getView()
.findViewById(R.id.buttonLaunchEditor);