From 899edcc7e4468c36202665a2db4b378f5370cfd2 Mon Sep 17 00:00:00 2001 From: zhangwei Date: Sat, 27 May 2023 16:09:37 +0800 Subject: [PATCH] update config --- .../app/src/main/assets/3dstdb-zh_CN.txt | 1 - .../src/main/assets/config/config-games.ini | 84 ++++++++++--------- .../app/src/main/res/values-es/strings.xml | 4 + .../app/src/main/res/values-zh/strings.xml | 4 + .../app/src/main/res/values/strings.xml | 4 + src/android/build.gradle | 2 +- src/android/jni/config/main_settings.cpp | 9 +- src/android/jni/config/main_settings.h | 9 +- src/android/jni/main_android.cpp | 9 +- src/core/settings.h | 1 + 10 files changed, 84 insertions(+), 43 deletions(-) diff --git a/src/android/app/src/main/assets/3dstdb-zh_CN.txt b/src/android/app/src/main/assets/3dstdb-zh_CN.txt index f5f5a567f98..750a9e6c70d 100644 --- a/src/android/app/src/main/assets/3dstdb-zh_CN.txt +++ b/src/android/app/src/main/assets/3dstdb-zh_CN.txt @@ -197,7 +197,6 @@ 00040000000A4D00 = 战国无双 历代记2 000400000014DF00 = 战国无双 历代记3 00040000001A4800 = 永恒绿洲 -00040000001A4800 = 永恒绿洲 00040000001A4900 = 永恒绿洲 0004000000113200 = 幻想生活 00040000000E9C00 = 幻想生活 LINK! diff --git a/src/android/app/src/main/assets/config/config-games.ini b/src/android/app/src/main/assets/config/config-games.ini index 6f3e8ed34aa..23fc04f30a7 100644 --- a/src/android/app/src/main/assets/config/config-games.ini +++ b/src/android/app/src/main/assets/config/config-games.ini @@ -152,44 +152,40 @@ 00040000000DF800 // Attack On Titan 1 [cpu_usage_limit] -000400000008FE00 // 1001 Spikes -0004000000120900 // Lord of Magna: Maiden Heaven -0004000000164300 // Lord of Magna: Maiden Heaven -00040000001CCD00 // The Alliance Alive -00040000001B4500 // The Alliance Alive -0004000000053700 // EX Troopers -00040000000BAC00 // Mirror of Fate -000400000009E500 // Mirror of Fate -0004000000096600 // Mirror of Fate -00040000000DCD00 // Mario Golf: World Tour -00040000000A5300 // Mario Golf: World Tour -00040000000DCE00 // Mario Golf: World Tour -0004000000030500 // Super Street Fighter -0004000000032D00 // Super Street Fighter -0004000000033C00 // Super Street Fighter -000400000007A000 // Metal Gear Solid: Snake Eater 3D -0004000000082400 // Metal Gear Solid: Snake Eater 3D -0004000000081E00 // Metal Gear Solid: Snake Eater 3D -00040000000F4E00 // New Love Plus - -[cpu_usage_limit1] -000400000F700800 // The Binding of Isaac: Rebirth [USA] -000400000F701700 // The Binding of Isaac: Rebirth [JPN] -000400000F700900 // The Binding of Isaac: Rebirth [EUR] -000400000F705C00 // Futuridium EP Deluxe - -[cpu_usage_limit2] -000400000007C700 // Mario Tennis Open -000400000007C800 // Mario Tennis Open -0004000000064D00 // Mario Tennis Open -00040000000B9100 // Mario Tennis Open -00040000000D0000 // Luigi's Mansion: Dark Moon -0004000000076400 // Luigi's Mansion: Dark Moon -0004000000055F00 // Luigi's Mansion: Dark Moon -0004000000076500 // Luigi's Mansion: Dark Moon -0004000000038800 // Shin Megami Tensei: Devil Survivor Overclocked -000400000009C000 // Shin Megami Tensei: Devil Survivor Overclocked -0004000000075100 // Heros of Ruin +000400000008FE00,1,4,2,2 // 1001 Spikes +0004000000120900,1,4,2,2 // Lord of Magna: Maiden Heaven +0004000000164300,1,4,2,2 // Lord of Magna: Maiden Heaven +00040000001CCD00,1,4,2,2 // The Alliance Alive +00040000001B4500,1,4,2,2 // The Alliance Alive +0004000000053700,1,4,2,2 // EX Troopers +00040000000BAC00,1,4,2,2 // Mirror of Fate +000400000009E500,1,4,2,2 // Mirror of Fate +0004000000096600,1,4,2,2 // Mirror of Fate +00040000000DCD00,1,4,2,2 // Mario Golf: World Tour +00040000000A5300,1,4,2,2 // Mario Golf: World Tour +00040000000DCE00,1,4,2,2 // Mario Golf: World Tour +0004000000030500,1,4,2,2 // Super Street Fighter +0004000000032D00,1,4,2,2 // Super Street Fighter +0004000000033C00,1,4,2,2 // Super Street Fighter +000400000007A000,1,4,2,2 // Metal Gear Solid: Snake Eater 3D +0004000000082400,1,4,2,2 // Metal Gear Solid: Snake Eater 3D +0004000000081E00,1,4,2,2 // Metal Gear Solid: Snake Eater 3D +00040000000F4E00,1,4,2,2 // New Love Plus +000400000F700800,1,1,1,1 // The Binding of Isaac: Rebirth [USA] +000400000F701700,1,1,1,1 // The Binding of Isaac: Rebirth [JPN] +000400000F700900,1,1,1,1 // The Binding of Isaac: Rebirth [EUR] +000400000F705C00,1,1,1,1 // Futuridium EP Deluxe +000400000007C700,2,4,2,2 // Mario Tennis Open +000400000007C800,2,4,2,2 // Mario Tennis Open +0004000000064D00,2,4,2,2 // Mario Tennis Open +00040000000B9100,2,4,2,2 // Mario Tennis Open +00040000000D0000,2,4,2,2 // Luigi's Mansion: Dark Moon +0004000000076400,2,4,2,2 // Luigi's Mansion: Dark Moon +0004000000055F00,2,4,2,2 // Luigi's Mansion: Dark Moon +0004000000076500,2,4,2,2 // Luigi's Mansion: Dark Moon +0004000000038800,2,4,2,2 // Shin Megami Tensei: Devil Survivor Overclocked +000400000009C000,2,4,2,2 // Shin Megami Tensei: Devil Survivor Overclocked +0004000000075100,2,4,2,2 // Heros of Ruin [skip_texture_copy] 0004000000030000 // Kid Icarus: Uprising @@ -337,3 +333,15 @@ 000400000012E000 // Zombie Panic in Wonderland DX 0004000000167A00 // Zombie Panic in Wonderland DX 00040000000F5600 // Zombie Panic in Wonderland DX + +[surface_skip_draw] +000400000F700000,18299400 +000400000012DE00,180A6280 +00040000001A2B00,18108D00 +0004000000166B00,18407B00 +000400000016E100,18084800,18080800,1847D400,1849D400 +000400000011D700,18084800,18080800,1847D400,1849D400 +0004000000197100,18084800,18080800,1847D400,1849D400 +0004000000072000,18422000,18412000 +0004000000144500,18400100,18404180 +00040000001A4800,18025180,1802A700,18024100,18029680,18020080 diff --git a/src/android/app/src/main/res/values-es/strings.xml b/src/android/app/src/main/res/values-es/strings.xml index 9adf1f0ca55..16a5071b386 100644 --- a/src/android/app/src/main/res/values-es/strings.xml +++ b/src/android/app/src/main/res/values-es/strings.xml @@ -37,6 +37,7 @@ Habilitar sombreador de geometría Enable Shadow Rendering Asynchronous Shader Compilation + Use Compatible Mode Retroalimentación háptica (vibración) Centro relativo de uso del joystick Ocultar botones virtuales @@ -266,6 +267,9 @@ Eliminar caché de sombreado ¿Estás seguro de eliminar el directorio de archivos del juego? + Gamepad + Joystick Range + Joystick Deadzone Joystick principal Joystick C D-Pad diff --git a/src/android/app/src/main/res/values-zh/strings.xml b/src/android/app/src/main/res/values-zh/strings.xml index 9e54c751892..b69cee77088 100644 --- a/src/android/app/src/main/res/values-zh/strings.xml +++ b/src/android/app/src/main/res/values-zh/strings.xml @@ -37,6 +37,7 @@ 启用几何着色器 启用阴影渲染 着色器异步编译 + 使用兼容模式 按键反馈(震动) 摇杆使用相对位置 隐藏屏幕按键 @@ -266,6 +267,9 @@ 删除着色器缓存 确定删除游戏安装目录? + 手柄 + 摇杆范围 + 摇杆死区 主摇杆 C 摇杆 方向键 diff --git a/src/android/app/src/main/res/values/strings.xml b/src/android/app/src/main/res/values/strings.xml index 86c969e09e5..54b80b9149b 100644 --- a/src/android/app/src/main/res/values/strings.xml +++ b/src/android/app/src/main/res/values/strings.xml @@ -37,6 +37,7 @@ Enable Geometry Shader Enable Shadow Rendering Asynchronous Shader Compilation + Use Compatible Mode Haptic Feedback (Vibration) Joystick use relative center Hide Input Buttons @@ -266,6 +267,9 @@ Delete Shader Cache Are you sure to delete the game install directory? + Gamepad + Joystick Range + Joystick Deadzone Main Stick C Stick D-Pad diff --git a/src/android/build.gradle b/src/android/build.gradle index 7ad7d5a7d52..b5f0e164506 100644 --- a/src/android/build.gradle +++ b/src/android/build.gradle @@ -7,7 +7,7 @@ buildscript { mavenCentral() } dependencies { - classpath 'com.android.tools.build:gradle:8.0.0' + classpath 'com.android.tools.build:gradle:8.0.2' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files diff --git a/src/android/jni/config/main_settings.cpp b/src/android/jni/config/main_settings.cpp index 03e7cc0ae45..746f64b7081 100644 --- a/src/android/jni/config/main_settings.cpp +++ b/src/android/jni/config/main_settings.cpp @@ -56,6 +56,7 @@ const ConfigInfo CAMERA_DEVICE{{"Camera", "camera_type"}, "blank"}; const ConfigInfo USE_HW_GS{{"Debug", "use_hw_gs"}, false}; const ConfigInfo SHADER_TYPE{{"Debug", "shader_type"}, 1}; const ConfigInfo ASYNC_SHADER_COMPILE{{"Debug", "async_shader_compile"}, false}; +const ConfigInfo USE_COMPATIBLE_MODE{{"Debug", "use_compatible_mode"}, false}; const ConfigInfo USE_PRESENT_THREAD{{"Debug", "use_present_thread"}, true}; const ConfigInfo SHADOW_RENDERING{{"Debug", "shadow_rendering"}, true}; const ConfigInfo CPU_USAGE_LIMIT{{"Debug", "cpu_usage_limit"}, false}; @@ -97,9 +98,15 @@ const ConfigInfo INPUT_OVERLAY_SCALE{{"Controls", "input_overlay_scale"}, 4 const ConfigInfo INPUT_OVERLAY_FEEDBACK{{"Controls", "input_overlay_feedback"}, true}; const ConfigInfo INPUT_OVERLAY_HIDE{{"Controls", "input_overlay_hide"}, false}; const ConfigInfo INPUT_JOYSTICK_RELATIVE{{"Controls", "input_joystick_relative"}, true}; +const ConfigInfo INPUT_JOYSTICK_RANGE{{"Controls", "input_joystick_range"}, 100}; +const ConfigInfo INPUT_JOYSTICK_DEADZONE{{"Controls", "input_joystick_deadzone"}, 0}; // custom layout -const ConfigInfo USE_CUSTOM_LAYOUT{{"Layout", "custom_layout"}, false}; +const ConfigInfo PORTRAIT_CUSTOM_LAYOUT{{"Layout", "portrait_custom_layout"}, false}; +const ConfigInfo LANDSCAPE_CUSTOM_LAYOUT{{"Layout", "landscape_custom_layout"}, false}; + +const ConfigInfo PORTRAIT_SWAP_SCREEN{{"Layout", "portrait_swap_screen"}, false}; +const ConfigInfo LANDSCAPE_SWAP_SCREEN{{"Layout", "landscape_swap_screen"}, false}; const ConfigInfo PORTRAIT_TOP_LEFT{{"Layout", "portrait_top_left"}, 0}; const ConfigInfo PORTRAIT_TOP_TOP{{"Layout", "portrait_top_top"}, 0}; diff --git a/src/android/jni/config/main_settings.h b/src/android/jni/config/main_settings.h index ef7274af09b..771d833a541 100644 --- a/src/android/jni/config/main_settings.h +++ b/src/android/jni/config/main_settings.h @@ -58,6 +58,7 @@ extern const ConfigInfo CAMERA_DEVICE; extern const ConfigInfo USE_HW_GS; extern const ConfigInfo SHADER_TYPE; extern const ConfigInfo ASYNC_SHADER_COMPILE; +extern const ConfigInfo USE_COMPATIBLE_MODE; extern const ConfigInfo USE_PRESENT_THREAD; extern const ConfigInfo SHADOW_RENDERING; extern const ConfigInfo CPU_USAGE_LIMIT; @@ -99,9 +100,15 @@ extern const ConfigInfo INPUT_OVERLAY_SCALE; extern const ConfigInfo INPUT_OVERLAY_FEEDBACK; extern const ConfigInfo INPUT_OVERLAY_HIDE; extern const ConfigInfo INPUT_JOYSTICK_RELATIVE; +extern const ConfigInfo INPUT_JOYSTICK_RANGE; +extern const ConfigInfo INPUT_JOYSTICK_DEADZONE; // custom layout -extern const ConfigInfo USE_CUSTOM_LAYOUT; +extern const ConfigInfo PORTRAIT_CUSTOM_LAYOUT; +extern const ConfigInfo LANDSCAPE_CUSTOM_LAYOUT; + +extern const ConfigInfo PORTRAIT_SWAP_SCREEN; +extern const ConfigInfo LANDSCAPE_SWAP_SCREEN; extern const ConfigInfo PORTRAIT_TOP_LEFT; extern const ConfigInfo PORTRAIT_TOP_TOP; diff --git a/src/android/jni/main_android.cpp b/src/android/jni/main_android.cpp index 5d6716faff9..a62bf9084ef 100644 --- a/src/android/jni/main_android.cpp +++ b/src/android/jni/main_android.cpp @@ -253,6 +253,8 @@ static void UpdateDisplayRotation() { Settings::values.custom_bottom_top = Config::Get(Config::PORTRAIT_BOTTOM_TOP); Settings::values.custom_bottom_right = Config::Get(Config::PORTRAIT_BOTTOM_RIGHT); Settings::values.custom_bottom_bottom = Config::Get(Config::PORTRAIT_BOTTOM_BOTTOM); + Settings::values.custom_layout = Config::Get(Config::PORTRAIT_CUSTOM_LAYOUT); + Settings::values.swap_screen = Config::Get(Config::PORTRAIT_SWAP_SCREEN); } else { Settings::values.layout_option = Config::Get(Config::LANDSCAPE_LAYOUT_OPTION); Settings::values.custom_top_left = Config::Get(Config::LANDSCAPE_TOP_LEFT); @@ -263,6 +265,8 @@ static void UpdateDisplayRotation() { Settings::values.custom_bottom_top = Config::Get(Config::LANDSCAPE_BOTTOM_TOP); Settings::values.custom_bottom_right = Config::Get(Config::LANDSCAPE_BOTTOM_RIGHT); Settings::values.custom_bottom_bottom = Config::Get(Config::LANDSCAPE_BOTTOM_BOTTOM); + Settings::values.custom_layout = Config::Get(Config::LANDSCAPE_CUSTOM_LAYOUT); + Settings::values.swap_screen = Config::Get(Config::LANDSCAPE_SWAP_SCREEN); } } @@ -641,7 +645,6 @@ JNIEXPORT void JNICALL Java_org_citra_emu_NativeLibrary_setCustomLayout(JNIEnv* jint left, jint top, jint right, jint bottom) { Settings::values.custom_layout = true; - Config::Set(Config::USE_CUSTOM_LAYOUT, true); if (is_top_screen) { Settings::values.custom_top_left = left; Settings::values.custom_top_top = top; @@ -653,11 +656,13 @@ JNIEXPORT void JNICALL Java_org_citra_emu_NativeLibrary_setCustomLayout(JNIEnv* Config::Set(Config::PORTRAIT_TOP_TOP, top); Config::Set(Config::PORTRAIT_TOP_RIGHT, right); Config::Set(Config::PORTRAIT_TOP_BOTTOM, bottom); + Config::Set(Config::PORTRAIT_CUSTOM_LAYOUT, true); } else { Config::Set(Config::LANDSCAPE_TOP_LEFT, left); Config::Set(Config::LANDSCAPE_TOP_TOP, top); Config::Set(Config::LANDSCAPE_TOP_RIGHT, right); Config::Set(Config::LANDSCAPE_TOP_BOTTOM, bottom); + Config::Set(Config::LANDSCAPE_CUSTOM_LAYOUT, true); } } else { Settings::values.custom_bottom_left = left; @@ -670,11 +675,13 @@ JNIEXPORT void JNICALL Java_org_citra_emu_NativeLibrary_setCustomLayout(JNIEnv* Config::Set(Config::PORTRAIT_BOTTOM_TOP, top); Config::Set(Config::PORTRAIT_BOTTOM_RIGHT, right); Config::Set(Config::PORTRAIT_BOTTOM_BOTTOM, bottom); + Config::Set(Config::PORTRAIT_CUSTOM_LAYOUT, true); } else { Config::Set(Config::LANDSCAPE_BOTTOM_LEFT, left); Config::Set(Config::LANDSCAPE_BOTTOM_TOP, top); Config::Set(Config::LANDSCAPE_BOTTOM_RIGHT, right); Config::Set(Config::LANDSCAPE_BOTTOM_BOTTOM, bottom); + Config::Set(Config::LANDSCAPE_CUSTOM_LAYOUT, true); } } s_render_window->UpdateLayout(); diff --git a/src/core/settings.h b/src/core/settings.h index dee6b7cac38..97d5a0996dc 100644 --- a/src/core/settings.h +++ b/src/core/settings.h @@ -221,6 +221,7 @@ struct Values { bool use_hw_gs; bool accurate_max_min; bool accurate_rcp_rsq; + bool use_compatible_mode; SharedFontType shared_font_type; AccurateMul shaders_accurate_mul; std::string remote_shader_host;