Merge pull request #278 from LoungeKatt/master
Integrate a semi-accurate FPS display option into settings
This commit is contained in:
commit
65db3bedf2
|
@ -15,6 +15,16 @@
|
|||
android:ems="12"
|
||||
android:gravity="center"
|
||||
android:text="@string/about_text" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/revision_text"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="6dp"
|
||||
android:layout_marginTop="10dp"
|
||||
android:ems="12"
|
||||
android:gravity="center"
|
||||
android:text="@string/revision_text" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/site_text"
|
||||
|
|
|
@ -158,6 +158,34 @@
|
|||
android:layout_marginTop="20dp"
|
||||
android:gravity="center_vertical" >
|
||||
|
||||
<TextView
|
||||
android:id="@+id/fps_text"
|
||||
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/select_fps" />
|
||||
|
||||
<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/fps_option"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:focusable="true" />
|
||||
</LinearLayout>
|
||||
</TableRow>
|
||||
|
||||
<TableRow
|
||||
android:layout_marginTop="10dp"
|
||||
android:gravity="center_vertical" >
|
||||
|
||||
<TextView
|
||||
android:id="@+id/software_text"
|
||||
android:layout_width="wrap_content"
|
||||
|
|
|
@ -50,7 +50,8 @@
|
|||
<string name="moga_pro_connect">MOGA Pro verbunden!</string>
|
||||
<string name="moga_connect">MOGA verbunden!</string>
|
||||
|
||||
<string name="about_text">reicast ist ein Dreamcast Emulator\n\nVersion: %1$s</string>
|
||||
<string name="about_text">reicast ist ein Dreamcast Emulator</string>
|
||||
<string name="revision_text">Version: %1$s</string>
|
||||
|
||||
<string-array name="controllers">
|
||||
<item>Controller A</item>
|
||||
|
@ -58,13 +59,6 @@
|
|||
<item>Controller C</item>
|
||||
<item>Controller D</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="region">
|
||||
<item></item>
|
||||
<item></item>
|
||||
<item></item>
|
||||
<item>(Standard)</item>
|
||||
</string-array>
|
||||
|
||||
<string name="browser">Browser</string>
|
||||
<string name="settings">Einstellungen</string>
|
||||
|
|
|
@ -50,7 +50,8 @@
|
|||
<string name="moga_pro_connect">MOGA Pro Connected!</string>
|
||||
<string name="moga_connect">MOGA Connected!</string>
|
||||
|
||||
<string name="about_text">reicast is a dreamcast emulator\n\nVersion: %1$s</string>
|
||||
<string name="about_text">reicast is a dreamcast emulator</string>
|
||||
<string name="revision_text">Version: %1$s [%2$s]</string>
|
||||
|
||||
<string-array name="controllers">
|
||||
<item>Controller A</item>
|
||||
|
@ -58,13 +59,6 @@
|
|||
<item>Controller C</item>
|
||||
<item>Controller D</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="region">
|
||||
<item></item>
|
||||
<item></item>
|
||||
<item></item>
|
||||
<item>(Default)</item>
|
||||
</string-array>
|
||||
|
||||
<string name="browser">Browser</string>
|
||||
<string name="settings">Settings</string>
|
||||
|
|
|
@ -49,7 +49,8 @@
|
|||
<string name="moga_pro_connect">MOGA Pro conectado!</string>
|
||||
<string name="moga_connect">MOGA conectado!</string>
|
||||
|
||||
<string name="about_text">reicast es un emulador de Dreamcast\n\nVersion: %1$s</string>
|
||||
<string name="about_text">reicast es un emulador de Dreamcast</string>
|
||||
<string name="revision_text">Version: %1$s [%2$s]</string>
|
||||
|
||||
<string-array name="controllers">
|
||||
<item>Controlador A</item>
|
||||
|
@ -57,13 +58,6 @@
|
|||
<item>Controlador C</item>
|
||||
<item>Controlador D</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="region">
|
||||
<item></item>
|
||||
<item></item>
|
||||
<item></item>
|
||||
<item>(Predeterminado)</item>
|
||||
</string-array>
|
||||
|
||||
<string name="browser">Navegador</string>
|
||||
<string name="settings">Configuración</string>
|
||||
|
|
|
@ -52,7 +52,8 @@
|
|||
<string name="moga_pro_connect">MOGA Pro connecté</string>
|
||||
<string name="moga_connect">MOGA connecté</string>
|
||||
|
||||
<string name="about_text">reicast est un émulateur dreamcast\n\nVersion: %1$s</string>
|
||||
<string name="about_text">reicast est un émulateur dreamcast</string>
|
||||
<string name="revision_text">Version: %1$s [%2$s]</string>
|
||||
<string name="app_site">Site web officiel: http://reicast.com</string>
|
||||
<string name="beta_site">Bétas: http://reicast.loungekatt.com</string>
|
||||
<string name="git_api">https://api.github.com/repos/NoblesseOblige/reicast-emulator/commits</string>
|
||||
|
@ -63,13 +64,6 @@
|
|||
<item>Manette C</item>
|
||||
<item>Manette D</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="region">
|
||||
<item>E - Etats-Unis</item>
|
||||
<item>J - Japon</item>
|
||||
<item>U - Europe</item>
|
||||
<item>R - Sans région</item>
|
||||
</string-array>
|
||||
|
||||
<string name="browser">Navigation</string>
|
||||
<string name="settings">Réglages</string>
|
||||
|
|
|
@ -50,7 +50,8 @@
|
|||
<string name="moga_pro_connect">MOGAプロ接続!</string>
|
||||
<string name="moga_connect">MOGA接続!</string>
|
||||
|
||||
<string name="about_text">reicastはドリームキャストエミュレータです\n\nバージョン: %1$s</string>
|
||||
<string name="about_text">reicastはドリームキャストエミュレータです</string>
|
||||
<string name="revision_text">バージョン: %1$s [%2$s]</string>
|
||||
|
||||
<string-array name="controllers">
|
||||
<item>コントローラ A</item>
|
||||
|
@ -58,13 +59,6 @@
|
|||
<item>コントローラ C</item>
|
||||
<item>コントローラ D</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="region">
|
||||
<item>E - 米国</item>
|
||||
<item>J - 日本の</item>
|
||||
<item>U - 欧州の</item>
|
||||
<item>R - リージョンフリー</item>
|
||||
</string-array>
|
||||
|
||||
<string name="browser">ブラウザ</string>
|
||||
<string name="settings">セッティング</string>
|
||||
|
|
|
@ -53,7 +53,8 @@
|
|||
<string name="moga_pro_connect">MOGA 프로 연결!</string>
|
||||
<string name="moga_connect">MOGA 연결!</string>
|
||||
|
||||
<string name="about_text">reicast는 드림 캐스트 에뮬레이터\n\n버전: %1$s</string>
|
||||
<string name="about_text">reicast는 드림 캐스트 에뮬레이터</string>
|
||||
<string name="revision_text">버전: %1$s [%2$s]</string>
|
||||
<string name="app_site">홈페이지: http://reicast.com</string>
|
||||
<string name="beta_site">베타: http://reicast.loungekatt.com</string>
|
||||
<string name="git_api">https://api.github.com/repos/reicast/reicast-emulator/commits</string>
|
||||
|
@ -71,13 +72,6 @@
|
|||
<item>gdi</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="region">
|
||||
<item>E - 미국</item>
|
||||
<item>J - 일본의</item>
|
||||
<item>U - 유럽의</item>
|
||||
<item>R - 지역</item>
|
||||
</string-array>
|
||||
|
||||
<string name="browser">브라우저</string>
|
||||
<string name="settings">설정</string>
|
||||
<string name="paths">경로</string>
|
||||
|
|
|
@ -50,7 +50,8 @@
|
|||
<string name="moga_pro_connect">MOGA Pro Connected!</string>
|
||||
<string name="moga_connect">MOGA Connected!</string>
|
||||
|
||||
<string name="about_text">reicast is a dreamcast emulator\n\nVersion: %1$s</string>
|
||||
<string name="about_text">reicast is a dreamcast emulator</string>
|
||||
<string name="revision_text">Version: %1$s [%2$s]</string>
|
||||
|
||||
<string-array name="controllers">
|
||||
<item>Controller A</item>
|
||||
|
@ -58,13 +59,6 @@
|
|||
<item>Controller C</item>
|
||||
<item>Controller D</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="region">
|
||||
<item></item>
|
||||
<item></item>
|
||||
<item></item>
|
||||
<item>(Default)</item>
|
||||
</string-array>
|
||||
|
||||
<string name="browser">Explorar</string>
|
||||
<string name="settings">Configurações</string>
|
||||
|
|
|
@ -53,7 +53,8 @@
|
|||
<string name="moga_pro_connect">MOGA Pro Conectado!</string>
|
||||
<string name="moga_connect">MOGA Conectado!</string>
|
||||
|
||||
<string name="about_text">reicast é um emulador de Dreamcast\n\nVersão: %1$s</string>
|
||||
<string name="about_text">reicast é um emulador de Dreamcast</string>
|
||||
<string name="revision_text">Versão: %1$s [%2$s]</string>
|
||||
<string name="app_site">Página: http://reicast.com</string>
|
||||
<string name="beta_site">Betas: http://reicast.loungekatt.com</string>
|
||||
<string name="git_api">https://api.github.com/repos/reicast/reicast-emulator/commits</string>
|
||||
|
@ -71,13 +72,6 @@
|
|||
<item>gdi</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="region">
|
||||
<item>E - Estados Unidos</item>
|
||||
<item>J - Japão</item>
|
||||
<item>U - Europa</item>
|
||||
<item>R - Sem Região</item>
|
||||
</string-array>
|
||||
|
||||
<string name="browser">Selecionar Jogos</string>
|
||||
<string name="settings">Configurações</string>
|
||||
<string name="paths">Diretórios</string>
|
||||
|
|
|
@ -56,7 +56,8 @@
|
|||
<string name="moga_pro_connect">MOGA Pro присоиденен!</string>
|
||||
<string name="moga_connect">MOGA присоиденен!</string>
|
||||
|
||||
<string name="about_text">DREAMCAST эмулятор "REICAST"\nВерсия: %1$s</string>
|
||||
<string name="about_text">DREAMCAST эмулятор "REICAST"</string>
|
||||
<string name="revision_text">Версия: %1$s [%2$s]</string>
|
||||
<string name="app_site">Сайт: http://reicast.com</string>
|
||||
<string name="beta_site">Бета версии: http://reicast.loungekatt.com</string>
|
||||
<string name="git_api">https://api.github.com/repos/reicast/reicast-emulator/commits</string>
|
||||
|
@ -67,13 +68,6 @@
|
|||
<item>Контроллер C</item>
|
||||
<item>Контроллер D</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="region">
|
||||
<item>E - США</item>
|
||||
<item>J - Япония</item>
|
||||
<item>U - Европа</item>
|
||||
<item>R - Свободный</item>
|
||||
</string-array>
|
||||
|
||||
<string name="browser">Перейти к списку игр</string>
|
||||
<string name="settings">Настройки</string>
|
||||
|
|
|
@ -50,7 +50,8 @@
|
|||
<string name="moga_pro_connect">MOGA Pro Connected!</string>
|
||||
<string name="moga_connect">MOGA Connected!</string>
|
||||
|
||||
<string name="about_text">reicast is a dreamcast emulator\n\nVersion: %1$s</string>
|
||||
<string name="about_text">reicast is a dreamcast emulator</string>
|
||||
<string name="revision_text">Version: %1$s [%2$s]</string>
|
||||
|
||||
<string-array name="controllers">
|
||||
<item>Controller A</item>
|
||||
|
@ -58,13 +59,6 @@
|
|||
<item>Controller C</item>
|
||||
<item>Controller D</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="region">
|
||||
<item></item>
|
||||
<item></item>
|
||||
<item></item>
|
||||
<item>(Default)</item>
|
||||
</string-array>
|
||||
|
||||
<string name="browser">Browser</string>
|
||||
<string name="settings">Settings</string>
|
||||
|
|
|
@ -1,20 +1,17 @@
|
|||
<resources>
|
||||
|
||||
<string name="menu_settings">设置</string>
|
||||
|
||||
<string name="system_path">系统路径 (dc_boot.bin/dc_flash.bin 所在的路径)</string>
|
||||
<string name="browser_path">默认系统路径</string>
|
||||
<string name="games_path">储存路径 (.gdi, .chd 或 .cdi 镜像所在的路径)</string>
|
||||
<string name="game_path">默认储存路径</string>
|
||||
|
||||
<string name="boot_bios">启动Dreamcast Bios</string>
|
||||
<string name="missing_bios">找不到BIOS. 需要Dreamcast BIOS才能让模拟器运行.请把 BIOS文件放置在 %1$s/data/dc_boot.bin</string>
|
||||
<string name="missing_flash">找不到Flash. 需要 Dreamcast Flash才能让模拟器运行. 请把 Flash文件放置在 %1$s/data/dc_flash.bin</string>
|
||||
<string name="missing_bios">找不到BIOS. 需要Dreamcast的BIOS才能让模拟器运行.请把BIOS文件放置在 %1$s/data/dc_boot.bin</string>
|
||||
<string name="missing_flash">找不到Flash. 需要 Dreamcast的Flash才能让模拟器运行. 请把Flash文件放置在 %1$s/data/dc_flash.bin</string>
|
||||
<string name="require_bios">你需要提供BIOS</string>
|
||||
|
||||
<string name="folder_bios">启动BIOS</string>
|
||||
<string name="folder_select">选择当前路径</string>
|
||||
|
||||
<string name="optimization_opts">优化与调试选项</string>
|
||||
<string name="experimental_opts">实验性 (可能造成不稳定)</string>
|
||||
<string name="select_dynarec">Dynarec设置</string>
|
||||
<string name="select_unstable">不稳定优化</string>
|
||||
|
@ -23,13 +20,14 @@
|
|||
<string name="select_mipmaps">使用Mipmaps (修复SGX540)</string>
|
||||
<string name="select_stretch">宽屏模式</string>
|
||||
<string name="set_frameskip">跳帧值</string>
|
||||
<string name="select_render">PVR 渲染 (目前没有任何效果)</string>
|
||||
<string name="select_render">PVR 渲染 (目前没有任何作用)</string>
|
||||
<string name="select_software">强制使用软件渲染</string>
|
||||
<string name="select_sound">开启声音</string>
|
||||
<string name="select_force_gpu">强制使用 v6 GPU 的配置</string>
|
||||
<string name="default_disk">设置默认光盘</string>
|
||||
|
||||
<string name="games_listing">可用的Dreamcast游戏</string>
|
||||
|
||||
<string name="customize_touch_controls">自定义触屏控制</string>
|
||||
<string name="launch_editor">启动编辑器</string>
|
||||
<string name="launch_editor">打开编辑器</string>
|
||||
<string name="touch_vibration">按键振动</string>
|
||||
<string name="controller_a">控制器A</string>
|
||||
<string name="controller_b">控制器B</string>
|
||||
|
@ -45,46 +43,39 @@
|
|||
<string name="modified_layout">启用自定义按键布局</string>
|
||||
<string name="controller_compat">启用兼容模式</string>
|
||||
<string name="dpad_joystick">摇杆使用方向键布局</string>
|
||||
<string name="mic_in_port_2">麦克风已插入 port 2</string>
|
||||
|
||||
<string name="mic_in_port_2">麦克风已插入 Port 2</string>
|
||||
<string name="customize_physical_controls">自定义物理控制</string>
|
||||
<string name="map_keycode_title">修改控制器</string>
|
||||
<string name="map_keycode_message">按下控制器按钮来映射 %1$s</string>
|
||||
|
||||
<string name="bios_menu">按 %1$s 来调出菜单</string>
|
||||
<string name="back_button">返回</string>
|
||||
<string name="search_button">搜寻</string>
|
||||
<string name="moga_pro_connect">MOGA Pro已连接!</string>
|
||||
<string name="moga_connect">MOGA已连接</string>
|
||||
|
||||
<string name="about_text">reicast是一款dreamcast模拟器 \n\n版本: %1$s</string>
|
||||
<string name="about_text">reicast是一款dreamcast模拟器</string>
|
||||
<string name="revision_text">版本: %1$s [%2$s]</string>
|
||||
<string name="app_site">主页: http://reicast.com</string>
|
||||
<string name="beta_site">测试版: http://reicast.loungekatt.com</string>
|
||||
<string name="git_api">https://api.github.com/repos/reicast/reicast-emulator/commits</string>
|
||||
|
||||
<string name="git_issues">https://github.com/reicast/reicast-emulator/issues/</string>
|
||||
|
||||
<string-array name="controllers">
|
||||
<item>控制器A</item>
|
||||
<item>控制器B</item>
|
||||
<item>控制器C</item>
|
||||
<item>控制器D</item>
|
||||
<item>控制器A</item>
|
||||
<item>控制器B</item>
|
||||
<item>控制器C</item>
|
||||
<item>控制器D</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="region">
|
||||
<item>E - 美国</item>
|
||||
<item>J - 日本</item>
|
||||
<item>U - 欧洲</item>
|
||||
<item>R - 无地区</item>
|
||||
</string-array>
|
||||
|
||||
|
||||
<string name="browser">浏览器</string>
|
||||
<string name="settings">设置</string>
|
||||
<string name="paths">路径</string>
|
||||
<string name="input">输入</string>
|
||||
<string name="about">关于</string>
|
||||
<string name="rateme">评价我</string>
|
||||
|
||||
<string name="textOn">开</string>
|
||||
<string name="textOff">关</string>
|
||||
|
||||
<string name="platform">复制logcat的内容到剪贴板\n请在问题的报告贴</string>
|
||||
|
||||
<string name="bios_config">请生成一个配置\n(运行至少一次BIOS)</string>
|
||||
<string name="menu_debug">提交错误日志</string>
|
||||
|
||||
</resources>
|
|
@ -1,20 +1,17 @@
|
|||
<resources>
|
||||
|
||||
<string name="menu_settings">設置</string>
|
||||
|
||||
<string name="system_path">系統路徑 (dc_boot.bin/dc_flash.bin 所在的路徑)</string>
|
||||
<string name="system_path">系統路徑 (dc_boot.bin/dc_flash.bin 所在的路徑)</string>
|
||||
<string name="browser_path">默認系統路徑</string>
|
||||
<string name="games_path">儲存路徑 (.gdi, .chd 或 .cdi 鏡像所在的路徑)</string>
|
||||
<string name="game_path">默認儲存路徑</string>
|
||||
|
||||
<string name="boot_bios">啟動Dreamcast Bios</string>
|
||||
<string name="missing_bios">找不到BIOS. 需要Dreamcast BIOS才能讓模擬器運行.請把 BIOS文件放置在 %1$s/data/dc_boot.bin</string>
|
||||
<string name="missing_flash">找不到Flash. 需要 Dreamcast Flash才能讓模擬器運行. 請把 Flash文件放置在 %1$s/data/dc_flash.bin</string>
|
||||
<string name="require_bios">妳需要提供BIOS</string>
|
||||
|
||||
<string name="missing_bios">找不到BIOS. 需要Dreamcast的BIOS才能讓模擬器運行.請把BIOS文件放置在 %1$s/data/dc_boot.bin</string>
|
||||
<string name="missing_flash">找不到Flash. 需要 Dreamcast的Flash才能讓模擬器運行. 請把Flash文件放置在 %1$s/data/dc_flash.bin</string>
|
||||
<string name="require_bios">你需要提供BIOS</string>
|
||||
<string name="folder_bios">啟動BIOS</string>
|
||||
<string name="folder_select">選擇當前路徑</string>
|
||||
|
||||
<string name="optimization_opts">優化與調試選項</string>
|
||||
<string name="experimental_opts">實驗性 (可能造成不穩定)</string>
|
||||
<string name="select_dynarec">Dynarec設置</string>
|
||||
<string name="select_unstable">不穩定優化</string>
|
||||
|
@ -23,13 +20,14 @@
|
|||
<string name="select_mipmaps">使用Mipmaps (修復SGX540)</string>
|
||||
<string name="select_stretch">寬屏模式</string>
|
||||
<string name="set_frameskip">跳幀值</string>
|
||||
<string name="select_render">PVR 渲染 (目前沒有任何效果)</string>
|
||||
<string name="select_render">PVR 渲染 (目前沒有任何作用)</string>
|
||||
<string name="select_software">強制使用軟件渲染</string>
|
||||
<string name="select_sound">開啟聲音</string>
|
||||
<string name="select_force_gpu">強制使用 v6 GPU 的配置</string>
|
||||
<string name="default_disk">設置默認光盤</string>
|
||||
|
||||
<string name="games_listing">可用的Dreamcast遊戲</string>
|
||||
|
||||
<string name="customize_touch_controls">自定義觸屏控制</string>
|
||||
<string name="launch_editor">啟動編輯器</string>
|
||||
<string name="launch_editor">打開編輯器</string>
|
||||
<string name="touch_vibration">按鍵振動</string>
|
||||
<string name="controller_a">控制器A</string>
|
||||
<string name="controller_b">控制器B</string>
|
||||
|
@ -45,46 +43,39 @@
|
|||
<string name="modified_layout">啟用自定義按鍵布局</string>
|
||||
<string name="controller_compat">啟用兼容模式</string>
|
||||
<string name="dpad_joystick">搖桿使用方向鍵布局</string>
|
||||
<string name="mic_in_port_2">麥克風插入Port 2</string>
|
||||
|
||||
<string name="mic_in_port_2">麥克風已插入 Port 2</string>
|
||||
<string name="customize_physical_controls">自定義物理控制</string>
|
||||
<string name="map_keycode_title">修改控制器</string>
|
||||
<string name="map_keycode_message">按下控制器按鈕來映射 %1$s</string>
|
||||
|
||||
<string name="bios_menu">按 %1$s 來調出菜單</string>
|
||||
<string name="back_button">返回</string>
|
||||
<string name="search_button">搜尋</string>
|
||||
<string name="moga_pro_connect">MOGA Pro已連接!</string>
|
||||
<string name="moga_connect">MOGA已連接</string>
|
||||
|
||||
<string name="about_text">reicast是壹款dreamcast模擬器 \n\n版本: %1$s</string>
|
||||
<string name="about_text">reicast是一款dreamcast模擬器</string>
|
||||
<string name="revision_text">版本: %1$s [%2$s]</string>
|
||||
<string name="app_site">主頁: http://reicast.com</string>
|
||||
<string name="beta_site">測試版: http://reicast.loungekatt.com</string>
|
||||
<string name="git_api">https://api.github.com/repos/reicast/reicast-emulator/commits</string>
|
||||
|
||||
<string name="git_issues">https://github.com/reicast/reicast-emulator/issues/</string>
|
||||
|
||||
<string-array name="controllers">
|
||||
<item>控制器A</item>
|
||||
<item>控制器B</item>
|
||||
<item>控制器C</item>
|
||||
<item>控制器D</item>
|
||||
<item>控制器A</item>
|
||||
<item>控制器B</item>
|
||||
<item>控制器C</item>
|
||||
<item>控制器D</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="region">
|
||||
<item>E - 美國</item>
|
||||
<item>J - 日本</item>
|
||||
<item>U - 歐洲</item>
|
||||
<item>R - 無地區</item>
|
||||
</string-array>
|
||||
|
||||
|
||||
<string name="browser">瀏覽器</string>
|
||||
<string name="settings">設置</string>
|
||||
<string name="paths">路徑</string>
|
||||
<string name="input">輸入</string>
|
||||
<string name="about">關於</string>
|
||||
<string name="rateme">評價我</string>
|
||||
|
||||
<string name="textOn">開</string>
|
||||
<string name="textOff">關</string>
|
||||
|
||||
<string name="platform">複製logcat的內容到剪貼板\n請在問題的報告貼</string>
|
||||
|
||||
<string name="platform">復制logcat的內容到剪貼板\n請在問題的報告貼</string>
|
||||
<string name="bios_config">請生成一個配置\n(運行至少一次BIOS)</string>
|
||||
<string name="menu_debug">提交錯誤日誌</string>
|
||||
|
||||
</resources>
|
||||
</resources>
|
|
@ -26,6 +26,7 @@
|
|||
<string name="select_stretch">Widescreen Mode</string>
|
||||
<string name="set_frameskip">Frameskip Value</string>
|
||||
<string name="select_render">PVR Rendering (does nothing for now)</string>
|
||||
<string name="select_fps">Show OnScreen FPS</string>
|
||||
<string name="select_software">Force Software Rendering</string>
|
||||
<string name="select_sound">Enable Emulator Sound</string>
|
||||
<string name="select_force_gpu">Force v6 GPU Config</string>
|
||||
|
@ -63,7 +64,8 @@
|
|||
<string name="moga_pro_connect">MOGA Pro Connected!</string>
|
||||
<string name="moga_connect">MOGA Connected!</string>
|
||||
|
||||
<string name="about_text">reicast is a dreamcast emulator\n\nVersion: %1$s</string>
|
||||
<string name="about_text">reicast is a dreamcast emulator</string>
|
||||
<string name="revision_text">Version: %1$s [%2$s]</string>
|
||||
<string name="app_site">Homepage: http://reicast.com</string>
|
||||
<string name="beta_site">Betas: http://reicast.loungekatt.com</string>
|
||||
<string name="git_api">https://api.github.com/repos/reicast/reicast-emulator/commits</string>
|
||||
|
@ -83,10 +85,10 @@
|
|||
</string-array>
|
||||
|
||||
<string-array name="region">
|
||||
<item>U - United States</item>
|
||||
<item>J - Japanese</item>
|
||||
<item>E - European</item>
|
||||
<item>R - Region Free</item>
|
||||
<item>NTSC-J</item>
|
||||
<item>NTSC-U/PAL-M/PAL-N</item>
|
||||
<item>PAL-E</item>
|
||||
<item>reicast</item>
|
||||
</string-array>
|
||||
|
||||
<string name="browser">Browser</string>
|
||||
|
|
|
@ -100,6 +100,7 @@ public class AboutFragment extends Fragment {
|
|||
private ListView list;
|
||||
private GitAdapter adapter;
|
||||
private Handler handler;
|
||||
String buildId = "";
|
||||
|
||||
private Activity parentActivity;
|
||||
|
||||
|
@ -114,15 +115,33 @@ public class AboutFragment extends Fragment {
|
|||
public void onViewCreated(View view, Bundle savedInstanceState) {
|
||||
parentActivity = getActivity();
|
||||
handler = new Handler();
|
||||
|
||||
try {
|
||||
InputStream file = parentActivity.getAssets().open("build");
|
||||
if (file != null) {
|
||||
BufferedReader reader = new BufferedReader(
|
||||
new InputStreamReader(file));
|
||||
buildId = reader.readLine();
|
||||
file.close();
|
||||
}
|
||||
} catch (IOException ioe) {
|
||||
ioe.printStackTrace();
|
||||
}
|
||||
|
||||
try {
|
||||
String versionName = parentActivity.getPackageManager()
|
||||
.getPackageInfo(parentActivity.getPackageName(), 0).versionName;
|
||||
int versionCode = parentActivity.getPackageManager()
|
||||
.getPackageInfo(parentActivity.getPackageName(), 0).versionCode;
|
||||
TextView version = (TextView) getView().findViewById(
|
||||
R.id.about_text);
|
||||
version.setText(parentActivity.getString(R.string.about_text,
|
||||
versionName + "(" + String.valueOf(versionCode) + ")"));
|
||||
R.id.revision_text);
|
||||
String revision = parentActivity.getString(R.string.revision_text,
|
||||
versionName, String.valueOf(versionCode));
|
||||
if (!buildId.equals("")) {
|
||||
revision = parentActivity.getString(R.string.revision_text,
|
||||
versionName, buildId);
|
||||
}
|
||||
version.setText(revision);
|
||||
} catch (NameNotFoundException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
@ -155,21 +174,9 @@ public class AboutFragment extends Fragment {
|
|||
public class retrieveGitTask extends
|
||||
AsyncTask<String, Integer, ArrayList<HashMap<String, String>>> {
|
||||
|
||||
private String buildId = "";
|
||||
|
||||
@Override
|
||||
protected void onPreExecute() {
|
||||
try {
|
||||
InputStream file = parentActivity.getAssets().open("build");
|
||||
if (file != null) {
|
||||
BufferedReader reader = new BufferedReader(
|
||||
new InputStreamReader(file));
|
||||
buildId = reader.readLine();
|
||||
file.close();
|
||||
}
|
||||
} catch (IOException ioe) {
|
||||
ioe.printStackTrace();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -40,7 +40,6 @@ public class MainActivity extends SlidingFragmentActivity implements
|
|||
FileBrowser.OnItemSelectedListener, OptionsFragment.OnClickListener {
|
||||
|
||||
private SharedPreferences mPrefs;
|
||||
public static boolean force_gpu;
|
||||
private static File sdcard = Environment.getExternalStorageDirectory();
|
||||
public static String home_directory = sdcard + "/dc";
|
||||
|
||||
|
@ -116,8 +115,6 @@ public class MainActivity extends SlidingFragmentActivity implements
|
|||
"MAIN_BROWSER").commit();
|
||||
}
|
||||
|
||||
force_gpu = mPrefs.getBoolean("force_gpu", false);
|
||||
|
||||
menuHeading = (TextView) findViewById(R.id.menu_heading);
|
||||
|
||||
sm = getSlidingMenu();
|
||||
|
|
|
@ -23,7 +23,6 @@ import android.view.ViewGroup;
|
|||
import android.widget.AdapterView;
|
||||
import android.widget.AdapterView.OnItemSelectedListener;
|
||||
import android.widget.ArrayAdapter;
|
||||
import android.widget.Button;
|
||||
import android.widget.CompoundButton;
|
||||
import android.widget.CompoundButton.OnCheckedChangeListener;
|
||||
import android.widget.EditText;
|
||||
|
@ -34,7 +33,6 @@ import android.widget.TextView;
|
|||
import android.widget.Toast;
|
||||
|
||||
import com.android.util.DreamTime;
|
||||
import com.reicast.emulator.MainActivity;
|
||||
import com.reicast.emulator.R;
|
||||
import com.reicast.emulator.debug.GenerateLogs;
|
||||
import com.reicast.emulator.emu.GL2JNIView;
|
||||
|
@ -50,7 +48,7 @@ public class ConfigureFragment extends Fragment {
|
|||
|
||||
public static boolean dynarecopt = true;
|
||||
public static boolean idleskip = false;
|
||||
public static boolean unstableopt = false;
|
||||
public static boolean unstableopt = true;
|
||||
public static int cable = 3;
|
||||
public static int dcregion = 3;
|
||||
public static int broadcast = 4;
|
||||
|
@ -96,6 +94,20 @@ public class ConfigureFragment extends Fragment {
|
|||
|
||||
getCurrentConfiguration(mPrefs);
|
||||
|
||||
final Switch fps_opt = (Switch) getView().findViewById(
|
||||
R.id.fps_option);
|
||||
OnCheckedChangeListener fps_options = new OnCheckedChangeListener() {
|
||||
|
||||
public void onCheckedChanged(CompoundButton buttonView,
|
||||
boolean isChecked) {
|
||||
mPrefs.edit().putBoolean("show_fps", isChecked).commit();
|
||||
}
|
||||
};
|
||||
boolean counter = mPrefs.getBoolean("show_fps",
|
||||
false);
|
||||
fps_opt.setChecked(counter);
|
||||
fps_opt.setOnCheckedChangeListener(fps_options);
|
||||
|
||||
// Generate the menu options and fill in existing settings
|
||||
final Switch force_gpu_opt = (Switch) getView().findViewById(
|
||||
R.id.force_gpu_option);
|
||||
|
@ -105,10 +117,11 @@ public class ConfigureFragment extends Fragment {
|
|||
public void onCheckedChanged(CompoundButton buttonView,
|
||||
boolean isChecked) {
|
||||
mPrefs.edit().putBoolean("force_gpu", isChecked).commit();
|
||||
MainActivity.force_gpu = isChecked;
|
||||
}
|
||||
};
|
||||
force_gpu_opt.setChecked(MainActivity.force_gpu);
|
||||
boolean enhanced = mPrefs.getBoolean("sound_enabled",
|
||||
true);
|
||||
force_gpu_opt.setChecked(enhanced);
|
||||
force_gpu_opt.setOnCheckedChangeListener(force_gpu_options);
|
||||
} else {
|
||||
force_gpu_opt.setEnabled(false);
|
||||
|
@ -125,7 +138,6 @@ public class ConfigureFragment extends Fragment {
|
|||
if (isChecked) {
|
||||
force_gpu_opt.setEnabled(false);
|
||||
mPrefs.edit().putBoolean("force_gpu", false).commit();
|
||||
MainActivity.force_gpu = false;
|
||||
} else {
|
||||
force_gpu_opt.setEnabled(true);
|
||||
}
|
||||
|
|
|
@ -26,6 +26,7 @@ import android.widget.Toast;
|
|||
|
||||
import com.reicast.emulator.R;
|
||||
import com.reicast.emulator.config.ConfigureFragment;
|
||||
import com.reicast.emulator.emu.OnScreenMenu.FpsPopup;
|
||||
import com.reicast.emulator.emu.OnScreenMenu.MainPopup;
|
||||
import com.reicast.emulator.emu.OnScreenMenu.VmuPopup;
|
||||
import com.reicast.emulator.periph.MOGAInput;
|
||||
|
@ -37,6 +38,7 @@ public class GL2JNIActivity extends Activity {
|
|||
OnScreenMenu menu;
|
||||
MainPopup popUp;
|
||||
VmuPopup vmuPop;
|
||||
FpsPopup fpsPop;
|
||||
MOGAInput moga = new MOGAInput();
|
||||
private SharedPreferences prefs;
|
||||
static String[] portId = { "_A", "_B", "_C", "_D" };
|
||||
|
@ -299,6 +301,15 @@ public class GL2JNIActivity extends Activity {
|
|||
});
|
||||
}
|
||||
JNIdc.setupVmu(menu.getVmu());
|
||||
if (prefs.getBoolean("show_fps", false)) {
|
||||
fpsPop = menu.new FpsPopup(this);
|
||||
mView.setFpsDisplay(fpsPop);
|
||||
mView.post(new Runnable() {
|
||||
public void run() {
|
||||
displayFPS();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
private void runCompatibilityMode() {
|
||||
|
@ -513,6 +524,11 @@ public class GL2JNIActivity extends Activity {
|
|||
LayoutParams.WRAP_CONTENT);
|
||||
}
|
||||
|
||||
public void displayFPS() {
|
||||
fpsPop.showAtLocation(mView, Gravity.TOP | Gravity.LEFT, 20, 20);
|
||||
fpsPop.update(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
|
||||
}
|
||||
|
||||
public void toggleVmu() {
|
||||
boolean showFloating = !prefs.getBoolean("vmu_floating", false);
|
||||
if(showFloating){
|
||||
|
|
|
@ -28,7 +28,7 @@ import android.view.ScaleGestureDetector;
|
|||
import android.view.ScaleGestureDetector.SimpleOnScaleGestureListener;
|
||||
import android.view.View;
|
||||
|
||||
import com.reicast.emulator.MainActivity;
|
||||
import com.reicast.emulator.emu.OnScreenMenu.FpsPopup;
|
||||
import com.reicast.emulator.periph.VJoy;
|
||||
|
||||
|
||||
|
@ -68,7 +68,7 @@ public class GL2JNIView extends GLSurfaceView
|
|||
public float[][] vjoy_d_custom;
|
||||
|
||||
private static final float[][] vjoy = VJoy.baseVJoy();
|
||||
|
||||
|
||||
Renderer rend;
|
||||
|
||||
private boolean touchVibrationEnabled;
|
||||
|
@ -81,6 +81,10 @@ public class GL2JNIView extends GLSurfaceView
|
|||
resetEditMode();
|
||||
requestLayout();
|
||||
}
|
||||
|
||||
public void setFpsDisplay(FpsPopup fpsPop) {
|
||||
rend.fpsPop = fpsPop;
|
||||
}
|
||||
|
||||
public GL2JNIView(Context context,String newFileName,boolean translucent,int depth,int stencil,boolean editVjoyMode)
|
||||
{
|
||||
|
@ -156,8 +160,8 @@ public class GL2JNIView extends GLSurfaceView
|
|||
// is interpreted as any 32-bit surface with alpha by SurfaceFlinger.
|
||||
if(translucent) this.getHolder().setFormat(PixelFormat.TRANSLUCENT);
|
||||
|
||||
if (MainActivity.force_gpu) {
|
||||
setEGLContextFactory(new ContextFactory());
|
||||
if (prefs.getBoolean("force_gpu", false)) {
|
||||
setEGLContextFactory(new GLCFactory6.ContextFactory());
|
||||
setEGLConfigChooser(
|
||||
translucent?
|
||||
new ConfigChooser(8, 8, 8, 8, depth, stencil)
|
||||
|
@ -180,7 +184,7 @@ public class GL2JNIView extends GLSurfaceView
|
|||
}
|
||||
|
||||
// Set the renderer responsible for frame rendering
|
||||
setRenderer(rend=new Renderer());
|
||||
setRenderer(rend=new Renderer(this));
|
||||
|
||||
// Initialize audio
|
||||
//configAudio(44100,250);
|
||||
|
@ -789,23 +793,52 @@ private static class ContextFactory implements GLSurfaceView.EGLContextFactory
|
|||
|
||||
private static class Renderer implements GLSurfaceView.Renderer
|
||||
{
|
||||
public void onDrawFrame(GL10 gl)
|
||||
{
|
||||
//Log.w("INPUT", " " + kcode_raw + " " + rt + " " + lt + " " + jx + " " + jy);
|
||||
//JNIdc.kcode(kcode_raw,lt,rt,jx,jy);
|
||||
// Natively update nullDC display
|
||||
JNIdc.rendframe();
|
||||
}
|
||||
|
||||
public void onSurfaceChanged(GL10 gl,int width,int height)
|
||||
{
|
||||
JNIdc.rendinit(width,height);
|
||||
}
|
||||
private GL2JNIView mView;
|
||||
private FPSCounter fps = new FPSCounter();
|
||||
private FpsPopup fpsPop;
|
||||
|
||||
public void onSurfaceCreated(GL10 gl,EGLConfig config)
|
||||
{
|
||||
onSurfaceChanged(gl, 800, 480);
|
||||
}
|
||||
public Renderer (GL2JNIView mView) {
|
||||
this.mView = mView;
|
||||
}
|
||||
|
||||
public void onDrawFrame(GL10 gl)
|
||||
{
|
||||
if (fpsPop != null && fpsPop.isShowing()) {
|
||||
fps.logFrame();
|
||||
}
|
||||
JNIdc.rendframe();
|
||||
}
|
||||
|
||||
public void onSurfaceChanged(GL10 gl,int width,int height)
|
||||
{
|
||||
JNIdc.rendinit(width,height);
|
||||
}
|
||||
|
||||
public void onSurfaceCreated(GL10 gl,EGLConfig config)
|
||||
{
|
||||
onSurfaceChanged(gl, 800, 480);
|
||||
}
|
||||
|
||||
public class FPSCounter {
|
||||
long startTime = System.nanoTime();
|
||||
int frames = 0;
|
||||
|
||||
public void logFrame() {
|
||||
frames++;
|
||||
if (System.nanoTime() - startTime >= 1000000000) {
|
||||
mView.post(new Runnable() {
|
||||
public void run() {
|
||||
if (frames > 0) {
|
||||
fpsPop.setText(frames);
|
||||
}
|
||||
}
|
||||
});
|
||||
startTime = System.nanoTime();
|
||||
frames = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void audioDisable(boolean disabled) {
|
||||
|
@ -816,7 +849,6 @@ private static class ContextFactory implements GLSurfaceView.EGLContextFactory
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
class EmuThread extends Thread
|
||||
{
|
||||
AudioTrack Player;
|
||||
|
|
|
@ -8,6 +8,7 @@ import android.content.Context;
|
|||
import android.content.Intent;
|
||||
import android.content.SharedPreferences;
|
||||
import android.os.Environment;
|
||||
import android.util.TypedValue;
|
||||
import android.view.Gravity;
|
||||
import android.view.View;
|
||||
import android.view.View.OnClickListener;
|
||||
|
@ -16,6 +17,7 @@ import android.widget.ImageButton;
|
|||
import android.widget.ImageView.ScaleType;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.PopupWindow;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.reicast.emulator.MainActivity;
|
||||
import com.reicast.emulator.R;
|
||||
|
@ -60,12 +62,33 @@ public class OnScreenMenu {
|
|||
}
|
||||
|
||||
void displayDebugPopup(final PopupWindow popUp) {
|
||||
mContext.displayDebug(new DebugPopup(mContext));
|
||||
mContext.displayDebug(new DebugPopup());
|
||||
}
|
||||
|
||||
public class FpsPopup extends PopupWindow {
|
||||
|
||||
private TextView fpsText;
|
||||
|
||||
public FpsPopup(Context c) {
|
||||
super(c);
|
||||
fpsText = new TextView(mContext);
|
||||
fpsText.setTextSize(TypedValue.COMPLEX_UNIT_SP, 32);
|
||||
fpsText.setTextColor(mContext.getResources().getColor(
|
||||
android.R.color.white));
|
||||
fpsText.setGravity(Gravity.CENTER);
|
||||
fpsText.setText("XX");
|
||||
setContentView(fpsText);
|
||||
}
|
||||
|
||||
public void setText(int frames) {
|
||||
fpsText.setText(String.valueOf(frames));
|
||||
fpsText.invalidate();
|
||||
}
|
||||
}
|
||||
|
||||
public class DebugPopup extends PopupWindow {
|
||||
|
||||
public DebugPopup(Context c) {
|
||||
public DebugPopup() {
|
||||
|
||||
int p = getPixelsFromDp(60, mContext);
|
||||
LayoutParams debugParams = new LayoutParams(p, p);
|
||||
|
@ -123,7 +146,7 @@ public class OnScreenMenu {
|
|||
}
|
||||
|
||||
void displayConfigPopup(final PopupWindow popUp) {
|
||||
mContext.displayConfig(new ConfigPopup(mContext));
|
||||
mContext.displayConfig(new ConfigPopup());
|
||||
}
|
||||
|
||||
public class ConfigPopup extends PopupWindow {
|
||||
|
@ -131,7 +154,7 @@ public class OnScreenMenu {
|
|||
private View fullscreen;
|
||||
private View framelimit;
|
||||
|
||||
public ConfigPopup(Context c) {
|
||||
public ConfigPopup() {
|
||||
|
||||
int p = getPixelsFromDp(60, mContext);
|
||||
LayoutParams configParams = new LayoutParams(p, p);
|
||||
|
|
Loading…
Reference in New Issue